实验三
实验结论
part 1
(1)通过程序demo5_1.cpp和demo5_2.cpp的结果对比,在循环中continue的功能是结束本次循环,开始下一次循环;而break的功能是跳出switch结构或结束本层循环。
(2)在两层嵌套循环中,内层循环中如果出现continue,不会影响外层循环;如果内层循环出现break,也不会影响外层循环。
part 2
程序源码
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<5) { 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; }
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(number>max) max = number; else if(number<min) min = number; }while(n<5); printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
#include <stdio.h> int main() { int number, max, min, n; for(n=1;n<=5;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; }
part 3
编程输出101~200之间的所有素数,并输出这一区间素数的个数
程序源码
#include<stdio.h> #include<math.h> int main(){ int n,m,a,col,COLUME; COLUME=5; a=0; for(n=101;n<=200;n++){ for(m=2;m<=sqrt(n);m++){ if(n%m==0) break; } if(m>sqrt(n)){ printf("%5d",n) ; a=a+1; if(a%5==0) printf("\n"); } } printf("共有%d个素数",a); return 0; }
输出图形
#include<stdio.h> const int N=5; int main() { int line,col; for(line=1;line<=N;line++){ for(col=N-line;col>0;col--) { printf(" "); } for(col=1;col<=2*line-1;col++) { printf("*"); } printf("\n"); } return 0; }
实验总结和体会
(1)这已经是第三次实验了,像标点符号以及中英文转换错误已经基本不会出现了,但最近出现了一个新的问题,就是在循环语句后面的花括号经常忘记加,或者只是加一个,尤其是在语句中出现循环嵌套以及if语句的时候,花括号经常会少加或漏加,这个是需要多多注意的。
(2)在循环语句中我有几次因为条件错误而造成了死循环,找了好几遍才找出来错误。
(3)在判断素数的那道题,要注意输出的素数的格式控制,要有控制格式的语句(摸索了好久才摸索出来)
(4)愈来愈发现,在后面的几道题中,程序难度逐渐增加,以后要更加认真了。
(5)做完这次实验,我更加深刻的意识到一定要多多练习,实践是检验真理的唯一标准,还有上课前一定要多加预习,否则对于我来说会非常的吃力。
互评地址:http://www.cnblogs.com/mittttty/
http://www.cnblogs.com/1418790233xjc/
http://www.cnblogs.com/yzxazj/