C语言第三次博客作业---单层循环结构
一、PTA实验作业
题目1
1.实验代码
#include<stdio.h>
int main()
{
int i,N;//N表示查询的用户数
double height1,height2;//height1表示该用户的身高,height2表示该用户的最佳情侣身高
char ch;
(N>0&&N<=10);
(height1>=1.0&&height1<=3.0);
scanf("%d",&N);//输入用户数
scanf("%c %lf\n",&ch,&height1);//输入性别和身高
for(i=1;i<=N;i++){
scanf(" %c %lf",&ch,&height1);
switch(ch){
case 'M':height2=height1/1.09;break;//查询用户为男性时
case 'F':height2=height1*1.09;break;//查询用户为女性时
}
printf("%.2lf\n",height2);//输出最佳情侣身高
}
2.设计思路
-第一步:定义整型变量i,N;定义浮点型变量height1,height2;定义字符型变量ch
-第二步:给出N的范围为(0,10],身高的范围为[1.0,3.0]
-第三步:输入用户数、性别和身高
-第四步:当i<=N时进入循环,如果用户为男性:height2=height1/1.09,如果用户为女性:height2=height1*1.09
-第五步:i=i+1;
-第六步:重复步骤3、4、5直到i>N时结束循环,输出height2
3.本题调试过程碰到问题及解决办法
两次查询输出的最佳情侣身高都是第一个用户的最佳情侣身高,利用dev c++调试时发现第二次进入不了switch语句,经过仔细思考后,知道了是因为回车被当成了第二次的字符型变量,在for循环体的scanf语句中(" %c %lf",&ch,&height1)的%c前面加上空格后,问题得到了解决
4.本题PTA提交列表
题目2
1.实验代码
int i,a,n,s,item,sum;//i表示循环的次数,n表示一个数最多有n个a,item表示每次不同的a数列,sum表示总和
(a>0&&a<9);//给出a的取值范围
(n>0&&n<9);//给出n的取值范围
s=0;
item=0;
sum=0;
scanf("%d %d",&a,&n);
for(i=1;i<=n;i++){
item=a+item*10;//表示每次不同的a数列
sum=sum+item;//将数列累加起来
}
printf("s = %d",sum);//输出总和
2.设计思路
-第一步:定义整型变量i,a,n,s,item,sum
-第二步:给出a,n的取值范围(0,9)
-第三步:s=0,item=0,sum=0
-第四步:输入a,n的值
-第五步:当i小于n时进入循环,item=a+item*10;sum=sum+item;
-第六步:重复步骤5,直到i>n时结束循环
-第七步:输出总和
3.本题调试过程碰到问题及解决办法
一开始没有思路要如何实现输出a,aa,aaa这种形式的数字,后来想到老师布置的作业中有一题类似的题目
由此得到启发
4.本题PTA提交列表
题目3
1.实验代码
int n,number,min,i;//n表示输入的正整数个数,number表示输入的正整数,min代表最小值,i表示循环次数
scanf("%d",&n);//输入n的值
scanf("%d",&number);//输入正整数
min=number;
i=1;
while(i<n){
scanf("%d",&number);
if(min>number)
{
min=number;
}
i++;
}
printf("min = %d",min);//输出最小值
2.设计思路
-第一步:定义整型变量i,n,number,min
-第二步:输入n和正整数number的值
-第三步:min=mark,i=1
-第四步:当i小于n时,进入循环,输入下一个正整数的值,如果min>number,那么min=number
-第五步:i=i+1
-第六步:重复步骤4、5,直到i>n时结束循环
-第七步:输出最小值min
3.本题调试过程碰到问题及解决办法
4.本题PTA提交列表
题目4
1.实验代码
int mynumber,yournumber,count,N;//定义整型变量
scanf("%d %d",&mynumber,&N);//输入被猜数和被猜的最大次数
(N>3);
count=1;
scanf("%d",&yournumber);//输入猜测的数字
while(yournumber>0){
if(yournumber==mynumber&&count==1){
printf("Bingo!");break;
}
else if(yournumber==mynumber&&count<=3) {
printf("Lucky You!") ;break;
}
else if(yournumber==mynumber&&count>3&&count<=N){
printf("Good Guess!");break;
}
else if(yournumber==mynumber&&count>3&&count>N){
printf("Game Over");break;
}
else if(yournumber>mynumber){
printf("Too big\n");
count++;
}
else if(yournumber<mynumber){
printf("Too small\n");
count++;
}
scanf("%d",&yournumber);
}
if(yournumber<0){
printf("Game Over");
}
2.设计思路
-第一步:定义整型变量yournumber,mynumber,count,N
-第二步:输入mynumber和N(猜测的最大次数),给出N的取值范围N>3
-第三步:赋值count=1
-第四步:输入yournumber
--第五步:当yournumber>0,进入第六步
-第六步:如果yournumbermynumber,count=1时,输出Bingo!,结束循环
-第七步:否则如果yournumbermynumber,count<=3时,输出Lucky You!,结束循环
-第八步:否则如果yournumbermynumber,count>3并且count<=N时,输出Good Guess!,结束循环
-第九步:否则如果yournumbermynumber,count>3并且count>N时,输出Game Over,结束循环
-第十步:否则如果yournumber>mynumber,输出Too big,count=count+1,重新进入步骤5
-第十一步:否则如果yournumber<mynumber,输出Too small,count=count+1,重新进入步骤5
-第十二步:如果yournumber<0,输出Game Over,结束循环
3.本题调试过程碰到问题及解决办法
在猜对后程序仍然没有结束,后面发现自己忘了用break中止循环
在所有输出语句后面都加了\n,提交上去后pta不给过,后面只在Too big和Too small后面加了\n就通过了
这题刚开始用另一种写法,让程序自己产生随机猜数和最大的猜测次数N,调试了好多天,输入输出都没问题,但pta不给过,后面换了本题的这种写法就可以了
4.本题PTA提交列表
二、截图本周题目集的PTA最后排名。
三、本周学习总结
1.你学会了什么?
1.嵌套语句的基本表达语句
for(i=1;i<=N;i++)
for(j=1;j<=N;j++)
for(k=1;k<=N;i++)
2.学会了用dev c++调试程序。当程序有错误自己又发现不了时,调试是个很有用的方法。但有时候虽然找到了错误的地方,却不知道该如何修改,这是个有点尴尬的问题。
3.循环次数如果确定的话,最好选用for语句,因为它看起来最清晰,当循环次数不确定的时候,选用while语句或do while语句。
2.本周的内容,你还不会什么?
1.循环的题目还不是很会,比如这周作业的猜数字游戏和龟兔赛跑,从周末写到周四,每一天都在熬夜写这两题,每天晚上都在调试找错误,改来改去还是错,弄得心态快崩了,还好坚持了下来,终于把这两道题做出来了。
2.代码不够简洁,思考还不够,老是写得很复杂,有时自己都被绕晕了,在编写代码这方面还是要加强自己的能力
3.有时候不确定循环控制条件到底是哪个
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述