C程序检查数字是否为质数
在此示例中,您将学习检查用户输入的整数是否是质数。
要理解此示例,您应该了解以下C语言编程主题:
质数是一个正整数,只能被1其自身整除。例如:2、3、5、7、11、13、17
程序检查素数#include
int main() {
int n, i, flag = 0;
printf("输入一个正整数: ");
scanf("%d", &n);
for (i = 2; i <= n / 2; ++i) {
// 非质数的条件
if (n % i == 0) {
flag = 1;
break;
}
}
if (n == 1) {
printf("1既不是质数也不是合数。");
}
else {
if (flag == 0)
printf("%d 是质数。", n);
else
printf("%d 不是质数。", n);
}
return 0;
}
输出结果输入一个正整数: 29
29 是质数。
在程序中,for循环从迭代i = 2到i < n/2。
在每次迭代中,检验n是否能被i完全整除:
if (n % i == 0) {
}
如果n能被i整除,n就不是质数。在本示例中,将flag设置为1,并使用break语句终止循环。
循环之后,如果n是质数,flag仍然为0。但是,如果n是非质数,则flag为1。