for循环
for(循环变量初值;循环条件;循环变量增量)
此代码忽略了当a=1的情况,当a=1时,因为不满足for括号中a=2的初始条件,直接跳过for循环,这样i的结果也小于a,导致程序输出一为素数,但1并不属于素数。所以此代码仅判断a>=2以上的正整数。
#include <stdio.h>
int main()
{
int a,i;
printf("请输入一个数:\n");
scanf("%d",&a);
//判断一个数是否为素数,若其只能一和 本身 的数整除则说明其为素数
//通过循环让这个数逐一除以比其本身小的数,若能被整除则说明这个数不是素数
for(i=2;i<a;i++) {//i=2为初始条件,i<a循环结束条件 ,i++为每次循环都要加一
if(a%i==0){
break;//当a能够整除i时跳出循环
}
}
if(i<a){
printf("这个数为不是素数");
}else{
printf("这个数是素数");
}
return 0;
}
代码结果