一.实验题目,设计思路,实现方法
第四次 分支+循环 加强版
(4.2.7 装睡)
设计思路:由题意可知通过最初输入量判断循环次数,根据输出形式可知在每次循环中需重新定义输入量并判断其是否满足题中条件,判断是否要输出。
实现方法:设计for循环语句,以初始输入量为结束条件。利用if语句判断其是否需要输出,最后按照题中要求顺序输出结果。
(4-2-5 逆序的三位数)
设计思路:通过设计相对应的三个变量与输入的数字对应,并用if语句判断变量是否为零,再判断其输出顺序。
实验方法:利用if语句分别判断这些数字是否为零
(4-2-4 三天打鱼两天晒网)
设计思路:以5为一个周期进行判断,将输入的变量通过除余算法找出最后剩余天数,再判断是“打鱼”还是“晒网”。
实验方法:利用除余算法得出最后剩余天数,再利用if算法判断其是“打鱼”还是“晒网”,最后对结果进行输出。
二.源程序
(4.2.7 装睡)
int i,n,breath,m;
char name[4];
scanf("%d",&n);
for(i=1;i<=n;i++){
scanf("%s %d %d",&name,&breath,&m);
if((15<=breath&&breath<=20)&&(50<=m&&m<=70)){
printf("");
}
else{
printf("%s
",name);
}
}
(4-2-5 逆序的三位数)
int n,a,b,c;
scanf("%d",&n);
a=n/100;
b=(n%100)/10;
c=n%100%10;
if(a!=0&&b!=0&&c!=0){
printf("%d%d%d",c,b,a);
}
else if(a!=0&&b!=0&&c0){
printf("%d%d",b,a);
}
else if(a!=0&&b0&&c0){
printf("%d",a);
(4-2-4 三天打鱼两天晒网)
int n,i;
scanf("%d",&n);
i=n%5;
0<=i<=4;
if(i1||i2||i3){
printf("Fishing in day %d",n);
}
else{
printf("Drying in day %d",n);
}
三.遇到的问题及解决方法,心得体会
1.装睡主要是对字符长度限制方法理解不深,还有if条件句中条件判断的格式把握不到位。
2.对除余算法的理解有偏差,和else if 语句中条件的判定有些模糊
3.if条件句中“=”与“==”记忆不清,对周期判断有误。