C语言第三次博客作业---单层循环结构
一、PTA实验作业
题目1
1.代码
int n;
char sex;
float height;
scanf("%d",&n);
for (int i=0;i<n;i++) {
scanf("\n%c %f",&sex,&height);
if (sex=='M')
printf("%.2f\n",height*1.0/1.09);
else if(sex=='F')
printf("%.2f\n",height*1.09);
else
printf("error\n");
}
2.设计思路
- (1)定义一个整型变量n代表查询的用户数,定义一个字符型变量sex代表用户性别,定义一个浮点型变量height代表用户身高。
- (2)输入查询用户数n。
- (3)输入用户性别sex,身高height。
- (4)若sex=='M',则输出height*1.0/1.09(保留两位小数)。
- (5)若sex=='F',则输出height*1.09(保留两位小数)。
- (6)若输入的sex为非法字符,则输出error。
- (7)i=i+1。
- (8)重复步骤三,直到i>n时,结束循环。
3.本题调试过程碰到问题及解决办法
- (1)无。
4.本题PTA实验结果
贴图展示。如图:
题目2
1.代码
int a,n,i,s,item;
scanf("%d %d",&a, &n);
s=0;
item=a;
for(i=1;i<=n;i++){
s=s+item;
item=item*10+a;
}
printf("s = %d",s);
2.设计思路
- (1)定义五个整数型变量a代表不超过9的正整数,i代表环境变量,n代表a的最大个数,item代表第i项的特殊a串数列,sum代表特殊a串数列的和。
- (2)输入整数a,n。
- (3)s=0,item=a。
- (4)累加s,s=s+item。
- (5)计算第i项的item,item=item*10+a。
- (6)i++。
- (7)重复步骤4,直到i>n,结束循环。
- (8)输出s。
3.本题调试过程碰到问题及解决办法
- (1)item的表达错误,结果格式错误。
- 解决办法:修改计算方法。
4.本题PTA实验结果
贴图展示。如图:
题目3
1.代码
int n,number,i,min;
scanf("%d",&n);
if(n==1){
scanf("%d",&number);
printf("min = %d",number);
}
else if(n>1){
for(i=1;i<=n;i++){
scanf("%d",&number);
if(number<min)
min=number;
}
printf("min = %d",min);
}
2.设计思路
- (1)定义四个整型变量n代表输入数据的数量,number代表输入的数据,i代表环境变量,min代表最小值。
- (2)输入整数n。
- (3)若n=1,则直接输出number。
- (4)若n>1,则输入number。
- (5)若number<min,则将number的值赋予min。
- (6)若number>min,则不执行。
- (7)i++.
- (8)重复步骤4,直到i>n,结束循环。
- (9)输出min。
3.本题调试过程碰到问题及解决办法
- (1)没有考虑n为1的情况。
- 解决方法:通过pta的问题分析补善代码。
4.本题PTA实验结果
贴图展示。如图:
题目4.
1.代码
int result,times,i,guess;
scanf("%d %d",&result, ×);
for(i=1;i<=times;i++){
scanf("%d",&guess);
if(guess<0){
i=times+1;
break;
}
if(guess<result)
printf("Too small\n");
else if(guess>result)
printf("Too big\n");
else
break;
}
if(i==1)
printf("Bingo!");
else if(i<=3)
printf("Lucky You!");
else if(i>3&&i<=times)
printf("Good Guess!");
else
printf("Game Over");
2.设计思路
- (1)定义四个整型变量result代表随机数,times代表猜的最大次数,i代表环境变量,guess代表猜的数。
- (2)输入正整数result,times。
- (3)输入guess。
- (4)若guess<0,i=items+1,跳出循环。
- (5)若guess<result,则输出Too small。
- (6)若guess>result,则输出Too big。
- (7)若guess=result,则跳出循环。
- (8)i++。
- (9)重复步骤4,直到i>times,结束循环。
- (10)若i=1,则输出Bingo!
- (11)若1<i<=3,则输出Lucky You!
- (12)若3<i<=times,则输出Good Guess!
- (13)若i为其他则输出Game Over。
3.本题调试过程碰到问题及解决办法
- (1)没有看清题目要求,在输入负数时直接退出。
- 解决方法:对输入的guess进行判断,若不符合则直接Game over。
4.本题PTA实验结果
贴图展示。如图:
二、截图本周题目集的PTA提交列表及最后排名。
PTA提交列表
PTA排名
三、本周学习总结
1.你学会了什么?
- (1)学会了while,for,do-while几种循环结构的基本使用。
- (2)学会了如何选择恰当的循环结构敲写代码。
- (3)懂得了scanf语句输入时的一些注意点。
- (4)利用flag来进行变化。
2.本周的内容,你还不会什么?
- (1)循环结构较为繁琐,容易犯错且代码有时较为繁琐。
- (2)结构使用不够灵活。
3.分支结构上机考试总结
- 在考试时因为对switch结构的使用不够熟练,导致一些语法忘记,所以平时应该将各种结构都掌握并且熟练使用,而不是单一的使用一种结构。