实验3
Part1:
1.在循环中,continue语句作用是提前结束本次循环并开始新一轮循环;而break语句作用是结束本层循环,转为执行本层循环语句后的语句。
2. continue语句不影响外层循环,而break语句会影响外层循环。
Part2:
(1)使用while循环:
#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(max<number) max = number; else if(min>number) min = number; } printf("最大数为:%d\n",max); printf("最小数为:%d\n",min); return 0; }
(2)使用do...while循环:
#include<stdio.h> int main(){ int number,max,min,n; n=1; printf("输入第%d个数:",n); scanf("%d",&number); max = number; min = number; do{ n++; printf("输入第%d个数:",n); scanf("%d",&number); if(max<number) max = number; else if(min>number) min = number; }while(n<=4); printf("最大数为:%d\n",max); printf("最小数为:%d\n",min); return 0; }
(3)使用for语句:
#include<stdio.h> int main(){ int number,max,min,n; n=1; printf("输入第%d个数:",n); scanf("%d",&number); max = number; min = number; for(n=2;n<=5;n++){ printf("输入第%d个数:",n); scanf("%d",&number); if(max<number) max = number; else if(min>number) min = number; } printf("最大数为:%d\n",max); printf("最小数为:%d\n",min); return 0; }
Part:1.
#include <stdio.h> #include <math.h> int main(){ int i,n=0; for(i=101;i<=199;i++){ int j,m=sqrt(i); for(j=2;j<=m;j++){ if(i%j==0) break; } if(j>m){ printf("%5d",i); n++; if(n%5==0) printf("\n"); } } printf("\n100~200之间共有%d个素数。",n); return 0; }
2.
#include<stdio.h> const int LINE=5; const int COLUME=9; int main(){ int line;int col; for(line=1;line<=LINE;line++){ for(col=1;col<=(LINE-line);col++){ printf(" "); } for(col=(6-line);col<=(4+line);col++){ printf("*"); } printf("\n"); } return 0; }
总结体会:
1.本次实验中终于了解了循环结构和break、continue的用法,也就对c程序的认识比较深了,自我感觉总算是入门了;
2.在前面几个部分感觉还好,依葫芦画瓢,挺清楚。但part3花了我太多的时间,也就是自己运用循环结构时候才发现问题。由于没有明了循环结构层次,始终没能正确做出程序,出现了系统未报错但始终不对的情况。最后才发现是定义变量和常量时的逻辑问题;
3.幸运是这次算是感受最深的一次了(一度被part3遇到的问题急得好心烦),但现在回头看,自己已经在培养和c语言相应的思维了。
互评:
1. https://www.cnblogs.com/couldi/p/10701912.html
2. https://www.cnblogs.com/Laupup/p/10701058.html
3. https://www.cnblogs.com/tty-1999/p/10700804.html