Part1 验证性内容
continue:不在执行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<=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; }
运行结果为:
改为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(number>max) max = number; else if(number<min) min = number; } while(n<=4); 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++;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.编程输出101~200之间所有素数,并输出这一区间内素数个数
代码:
/*编程输出101~200之间所有素数,并输出这一区间内素数个数*/ #include <stdio.h> int main(){ int n=0; //用来计录素数的数量 int x=101; int a=2; for(;x<=200;a=2){ while(x%a) { if(a<x) {a++;} } if(a==x) { n++; if(n%5!=0) {printf("%6d",x);} else {printf("%6d\n",x);} } x++; } printf("\n"); printf("101-200之间共有%d个素数。",n); return 0; }
运行结果:
2.****塔
代码:
/*塔状"*"*/ #include <stdio.h> int main(){ int line; for(line=1;line<=5;line++) { int a=5-line; int b=0; int c=2*line-1; int d=0; while(b<a){ b++; printf(" "); } while(d<c){ d++; printf("*"); } printf("\n"); b=0; d=0; } return 0; }
运行结果:
Part4:拓展实践
教材p106第11题
取出一个无符号的十进制中所有奇数数字,按原来的顺序组成一个新的数
代码:
/*教材p106第11题*/ //取出一个无符号的十进制中所有奇数数字,按原来的顺序组成一个新的数 #include <stdio.h> #include <math.h> int main(){ int number; int n=0; int a,b; int result=0; printf("请输入一个无符号十进制整数:\n"); scanf("%d",&number); while(number){ a=number%10; number=number/10; if(a%2){ n++; result=result+a*pow(10,n-1); } } printf("结果是%d",result); return 0; }
运行结果: