在循环使用过程中,可能遇到某些情况需要终止循环。比如按座位查找一位学生,循环查找,找到时可以直接停止。后续的循环将不再执行。
break;只跳出一层循环
例子中的素数判断,查找到根号n停止:一个合数等于两个数的乘积,一个数大的时候,另外一个数就肯定要小,那么较小数最大只能达到根号n。所以判断是否为素数时,通过数学方法,节省运算次数。
#include <stdio.h>
#include <math.h>
/* 功能:循环中断 break (素数判断)
时间:2024年10月
地点:贤者楼129
作者:LChen
*/
// 判断输入数字是否为素数(质数)
int main() {
int i,k,n;
scanf("%d",&n);
//中断直接退出该层循环
// for(i=2;i<n;i++) { // 依次判断是否为n的因数
// if(n%i==0) { // 如果是则合数
// break; // 后续不需要再判断
// }
// }
// if(i>n)
// printf("%d is a prime.\n",n);
// else
// printf("%d is not a prime.\n",n);
// 合数为两个数乘积,一个小于等于根号n
// 用数学优化程序
k=(int)sqrt(n);
for(i=2;i<=k;i++) { // 依次判断
if(n%i==0) {
break;
}
}
if(i>k&&n!=1)
printf("%d is a prime.\n",n);
else
printf("%d is not a prime.\n",n);
return 0;
}