Part 1
continue:满足某种需要的条件后直接执行下一次,但是不会让终止循环。
break:终止循环。
代码示例如下
#include <stdio.h> int main() { int i; // 在循环语句中使用continue for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束本次循环,开始下一次循环 continue; printf("i=%d\n",i); } return 0; }
#include <stdio.h> int main() { int i; // 在循环语句中使用break for(i=1; i<=5; i++) { if (i%3 == 0) // 如果i是3的倍数,则结束整个循环 break; printf("i=%d\n",i); } return 0; }
在两层嵌套循环中,内层循环中出现continue不会影响外层,break也不会影响外层循环。
#include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束本次循环,开始下一次循环 continue; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
运行结果:
#include <stdio.h> const int LINE=3; // 定义符号常量LINE const int COLUME=5; // 定义符号常量COLUME int main() { int line; // 定义变量line, 用来控制行数 int col; // 定义变量col, 用来控制列数 // 输出LINE行信息 for(line=1; line<=LINE; line++) { // 每一行中,利用循环,输出各列信息 for(col=1; col<=COLUME; col++) { if(col%3 == 0) // 如果col是3的倍数,则结束内层循环体 break; printf("%5d", col); } printf("\n"); // 每输出完一行,换行 } return 0; }
运行结果:
Part 2 补足程序,使得程序运行。
blank.cpp
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #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循环:
/* 编程找出5个整数的最大数和最小数 《C语言程序设计教程学习指导》p122实验内容(3) */ #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; }
运行结果:
Part 3编程练习
输出101-200之间所有素数,并输出这一区间内素数个数。
代码如下:(在此感谢周季晓与我一同攻克了其中的问题)
#include<stdio.h> #include<math.h>//不然无法使用sqrt函数// int main() { int i,n,x=0,m;//i为101-200,n为用于除的除数,x为素数个数,m为根号i// for(i=101;i<200;i+=2){ m=sqrt(i); for(n=2;n<=m;n++){ if (i%n==0) break; } if (n>m) printf("%5d",i); else continue;//必要,否则每次都会进行x++;或在if(n>m)后加上大括号(直到printf("\n");后结束)// x++; if (x%5==0) printf("\n"); } printf("\n101-200之间共有%d个素数。",x); return 0; }
运行结果如下:
编程打印输出如下图案(金字塔型*):
#include<stdio.h> int main(){ int line,m,n,p,q;//line表示行数, m代表空格数,n代表星号数// //p,q分别辅助m,n输出// for(line=1;line<=5;line++){ m=5-line; n=2*line-1; for(p=1;p<=m;p++){ printf(" "); } for(q=1;q<=n;q++){ printf("*"); } printf("\n"); } return 0; }
运行结果:
实验总结与体会:
1.if语句的使用中,多条指令要记住使用{}。
2.自主编程对我来说是个挑战,还要多加练习(?•??•?)??
3.又发现了很多之前自己没掌握的东西,每次实验都有新收获(?•??•?)??。
原文地址:https://www.cnblogs.com/1623449-w/p/10711582.html
时间: 2024-11-02 21:45:42