part 1
1.在循环中使用控制语句continue和break,其功能区别是:
continue:只控制本次循环的结束。
break:终止并跳出循环,之后的循环也不再执行。
2.在两层嵌套循环中,内层循环如果出现continue或break,是否影响外层循环?
答:通过实验可知,均布影响外层循环
part 2
补足后的程序为:
#include <stdio.h> int main(){ int number,max,min,n; n=1; printf("输入第%d个数: ",n); scanf("%d",&number); max = number; min = number; while(n<=4){ n++; printf("输入第%d个数: ",n); scanf("%d",&number); if(number>=max) max = number; else if(number<=min) min = number; } printf("最大数为: %d\n",max); printf("最小数为: %d\n",min); return 0; }
运行结果为:
使用for程序实现程序源码:
#include<stdio.h> int main(){ int number,max,min,n=1; printf("输入第%d个数: ",n); scanf("%d",&number); max=number; min=number; n++; for(;n<=5;n++){ printf("输入第%d个数: ",n); scanf("%d",&number); if(max<number) max=number; if(min>number) min=number; } printf("最大数为: %d\n",max); printf("最小数为: %d\n",min); return 0; }
运行结果:
part 3:
1.编程输出101~200之间所有素数
#include<stdio.h> #include<math.h> int main(){ int a=101,b,n=0; do{ for(b=2;b<=sqrt(a);b++) if(a%b==0) break; if(b>sqrt(a)){ printf("%d ",a); n++; if(n%5==0){ printf("\n"); } } a++; }while(a>=101&&a<=200); printf("\n100~200之间共有%d个素数",n); return 0; }
运行结果:
2.编程打印出*图案(图不好描述,实验3文件上有)
#include <stdio.h> int main() { int line,col; for(line=1;line<=5;line++) { for(col=5-line;col>0;col--) { printf(" "); } for(col=1;col<=2*line-1;col++) { printf("*"); } printf("\n"); } return 0; }
运行结果:
实验总结体会:
1.循环结构一直是难点,遇到编程题,每次看答案感觉能看懂,但要完全自己独立编写,总会出现各种各样的bug。
尤其是结束循环的条件,每次要试错很多次才能得到正确结果(学期末了还是这样)。
2.循环结构嵌套,经常会漏步骤,然后多嵌套几次,整个人就搞晕了。个人觉得主要还是思路不明确。逻辑思维能力欠佳,需要多加训练。
ps:其实高中数学学过循环结构(当型和直到型),也做过一些画程序框图的联系。但不看答案独立完成,还是需要很多时间去试错,然后根据提示慢慢一个个改bug,才能最终得到正确结果。。。虽然过程坎坷,但还是挺有成就感的。(还是适当提速吧,要不然期末考试的编程题可能时间紧张)
互评链接:
https://www.cnblogs.com/rainbowhorse/p/10702387.html
https://www.cnblogs.com/24cherry/p10674014.html
https://www.chblogs.com/1752223012cxy/p/10716147.html
原文地址:https://www.cnblogs.com/Xoy31415926/p/11082053.html