part1:continue语句是在条件符合时跳过这一次循环,不输出这次内容,且重新开始新一轮循环;
break语句是在条件符合时结束整个循环,不输出这次循环内容,结束所在循环体。
两层嵌套循环中,内层循环出现continue与break均不影响外层循环。
part2:附上源代码
#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; }
附上运行截图:
附上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(number>max) max=number; else if(number<min) min=number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
附上运行截图:
附上do...while语句源代码:
#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(number>max) max=number; else if(number<min) min=number; } printf("最大数为: %d\n", max); printf("最小数为: %d\n", min); return 0; }
附上运行截图:
。
part3:
附上问题1源代码:
#include<stdio.h> int main(){ int k,n,i; k=100; i=0; while(k<=200){ k++; for(n=2;n<=k;n++){ if(k%n==0&&n<k){ break; } else if(k%n!=0){ continue; } else{ printf("%4d",k); i++; if(i%5==0){ printf("\n"); } } } } printf("\n101~200之间共有%d个素数.",i); return 0; }
附上运行结果截图:
。
附上第二道练习题:
#include<stdio.h>; const int N=5; const int C=9; int main(){ int line,col,a,b; for(line=1;line<=5;++line){ a=6-line; b=4+line; for(col=1;col<=9;++col){ if(a>col||b<col){ printf(" "); continue; } printf("*"); } printf("\n"); } return 0; }
附上运行结果:
实验总结:花费时间较多的还是part3,part3第一题需要清晰的逻辑;第二题的收获主要两个:①输出空格是printf(" "),两个双引号之间要有个空格;②printf("*"),应在if语句的外面,没有if语句,那么5行9列全是"*",if用于筛选出补空格的地方,continue则跳过输出"*",保证空格的输出。
互评地址:
https://www.cnblogs.com/ligengchen/p/10711287.html;
https://www.cnblogs.com/wznn/p/10714074.html;
https://www.cnblogs.com/txaalo/p/10712011.html。