在此示例中,您将学习检查用户输入的整数是否是质数。
要理解此示例,您应该了解以下C语言编程主题:
质数是一个正整数,只能被1其自身整除。例如:2、3、5、7、11、13、17
#include <stdio.h> 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。
访问此页面以了解如何打印两个间隔之间的所有素数。