代码后面是注释
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int n, i = 2; //为i赋初值2
printf("请输入一个值:"); //i为除数,n为被除数
scanf("%d",&n); //输入n的值
while (i < n)
{
if (n % i == 0) //if语句作为循环体,首先判断n能否被i整除
{
break; //若余数为0,直接跳出循环体,到下一个if语句
}
else //若余数不为0,则i+1继续执行循环体
i++;
}
if(i==n) //判断除数和被除数是否是同一个数
//条件:素数是只能被1和本身整除的数
//注:已经说明i的值不为1,
//i等于n满足条件,则这个数就是素数
printf("%d是素数\n", n);
else
printf("%d不是素数\n", n);
return 0;
}
whlie循环和for循环是等价的
上述程序在for循环当中只需稍微改变一下就行
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int n, i = 2;
printf("请输入一个值:");
scanf("%d", &n);
for (i = 2; i < n; i++)
{
if (n % i == 0)
break;
}
if(i==n)
printf("%d是素数", n);
else
printf("%d不是素数", n);
return 0;
}