原文: https://www.programiz.com/c-programming/examples/prime-interval-function
在此示例中,您将学习如何打印两个数字之间的所有质数(由用户输入)。
要理解此示例,您应该了解以下 C 编程主题:
为了找到两个整数之间的所有质数,创建了checkPrimeNumber()
。 此函数检查数字是否为质数。
两个整数之间的质数
#include <stdio.h>
int checkPrimeNumber(int n);
int main() {
int n1, n2, i, flag;
printf("Enter two positive integers: ");
scanf("%d %d", &n1, &n2);
printf("Prime numbers between %d and %d are: ", n1, n2);
for (i = n1 + 1; i < n2; ++i) {
// flag will be equal to 1 if i is prime
flag = checkPrimeNumber(i);
if (flag == 1)
printf("%d ", i);
}
return 0;
}
// user-defined function to check prime number
int checkPrimeNumber(int n) {
int j, flag = 1;
for (j = 2; j <= n / 2; ++j) {
if (n % j == 0) {
flag = 0;
break;
}
}
return flag;
}
输出
Enter two positive integers: 12
30
Prime numbers between 12 and 30 are: 13 17 19 23 29
如果用户首先输入较大的数字,则该程序将无法正常工作。 要解决此问题,您需要先交换数字。