Part 1:验证性实验
demo5_1.cpp的运行结果:
demo5_2.cpp的运行结果:
观察运行结果,显然可以发现:
demo6_1.cpp:
demo6_2.cpp:
观察运行结果,显然可以发现:
两个循环里break 和continue 只会影响内层循环,不会影响外层循环。
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<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; }
运行结果:
源代码:
#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; }
运行结果:
原代码:
#include<stdio.h> int main(){ int number,max,min,n=1; printf("输入第%d个数:",n); scanf("%d",&number); max=number; min=number; n++; do{ printf("输入第%d个数:",n); scanf("%d",&number); switch(number>max){ case 1:max=number;break; default:switch(number<min){ case 1:min=number;break; default:break; }break; } n++; }while(n<=5); printf("最大数为:%d\n最小数为:%d\n",max,min); return 0; }
运行结果:
Part 3: 编程练习
源代码:
#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; }
运行结果:
源代码:
#include<stdio.h> int main(){ int line=1,n; do{ for(n=0;n<=4-line;n++){ printf(" "); } for(n=0;n<=2*(line-1);n++){ printf("*"); } printf("\n"); line++; }while(line<=5); return 0; }
运行结果:
实验总结与体会
p.s.可以发现,我们编写的程序越来越复杂了。为保证正确率,减少错误,有几个细节还是值得注意:
作为初学者,希望可以和大家互相学习,共同进步吧!
原文:https://www.cnblogs.com/jiyuan201088/p/10714115.html