C语言第三次博客作业---单层循环结构
一、PTA实验作业
题目1
- 实验代码
int n,i;
double height1,height2;
char sex;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
getchar();
scanf("%c%lf",&sex,&height1);
switch(sex){
case 'M':height2=height1/1.09;break;
case 'F':height2=height1*1.09;break;
}
printf("%.2f\n",height2);
}
- 设计思路
- 第一步:定义两个整型变量n,i,两个浮点型变量height1,height2,一个字符型变量sex
- 第二步:输入n的值
- 第三步:输入sex与height1的量
- 第四步:若sex=M,则:height2=height1/1.09
- 第五步:若sex=F,则:height2=height1*1.09
- 第六步:输出high2的值,并保留两位小数
- 第七步:重复步骤3,直到i>n
3.本题调试过程碰到问题及解决办法
刚开始老是出现图中的问题,后来请教学长,加了getchar(),使回车不执行只换行就解决了
4.本题PTA提交列表
题目2
- 实验代码
int n,a,s,i,b;//引入变量b存放aa……的值
scanf("%d%d",&a,&n);
s=0;
b=a;
for(i=1;i<=n;i++)
{
s=s+b;
b=b*10+a;
}
printf("s = %d",s);
- 设计思路
- 第一步:定义五个变量a,b,i,s,n
- 第二步:输入a,n的值
- 第三步: s=0;b=a
- 第四步:s=s+b;b=b*10+a;
- 第五步:重复步骤3,直到i>n
- 第六步:输出s的值
3.本题调试过程碰到问题及解决办法
题目理解错了,以为aa是a×a后来经过调试跟踪变量发现问题
4.本题PTA提交列表
题目3
- 实验代码
int n,i;
double min,s;//s为输入的每个数的值
scanf("%d",&n);
scanf("%lf",&s);
min=s ;
for(i=1;i<n;i++)//执行循环体使min为最小值。
{
if(min>s)
{
min=s;
}
scanf("%lf",&s);
}
printf("min = %.0f",min);
- 设计思路
- 第一步:定义两个整型变量n,i,两个浮点型变量min,s
- 第二步:输入n,s的值
- 第三步:min=s
- 第四步:若min>s,min=s
- 第五步:输入下一个s的值
- 第六步:重复步骤四,直到i>=n
- 第七步:输出min的值
3.本题调试过程碰到问题及解决办法
原先的代码如果给的数都大于0,就不会输出最小值了,后来先将第一次的s值赋值给s,就解决了
4.本题PTA提交列表
题目4
- 实验代码
int mynumber,N,i,yournumber;//N为猜测的最大次数
scanf("%d%d",&mynumber,&N);
for(i=1;i<=N;i++)
{
scanf("%d",&yournumber);
if(yournumber<0)
{
printf("Game Over\n");break;
}
if(yournumber>mynumber)
{
printf("Too big\n");
}
else if(yournumber==mynumber)
if(i==1)
{
printf("Bingo!\n");break;
}
else if(i>=4)
{
printf("Good Guess!\n");break;
}
else
{
printf("Lucky You!\n");break;
}
else
printf("Too small\n");
}
if(yournumber>=0&&yournumber!=mynumber)
printf("Game Over\n");
- 设计思路
- 第一步:定义变量mynumber,N,i,yournumbe
- 第二步:输入mynumbe,N的值
- 第三步:输入yournumbe的值
- 第四步:若yournumber<0,则输出Game Over,结束循环
- 第五步:若yournumber>mynumber,则输出Too big
- 第六步:若yournumbermynumber,进入判断,若i1,输出Bingo!,结束循环
- 第七步:若i>=4,输出Good Guess!,结束循环
- 第八步:否则,输出Lucky You!,结束循环
- 第九步:若yournumber<mynumbe,则输出Too small
- 第十步:重复步骤三,直到i>N
- 第十一步:若yournumber>=0且yournumber不等于mynumber,输出Game Over
3.本题调试过程碰到问题及解决办法
这道题的逻辑性很强,刚开始时无从下手,后来用纸笔理了理一条条分支可能,才打出代码
4.本题PTA提交列表
二、截图本周题目集的PTA最后排名。
三、本周学习总结
1.你学会了什么?
学会了运用for语句,和while语句循环,如果给定了循环次数应该用for,如果没明确给,而是由某一个变量控制,应用while
2.本周的内容,你还不会什么?
虽然请教了学长,但还是不懂情侣身高那题为什么要加getchar(),它的作用是什么,为什么这里要加
3.你碰到什么困难,打算如何解决?
感觉我的算法比较复杂,希望可以精简一下算法,还有做题有点着急,应该好好研究一下怎么解题,再敲代码