在此示例中,您将学习如何打印两个数字之间的所有质数(由用户输入)。
要理解此示例,您应该了解以下C语言编程主题:
为了找到这两个整数之间的所有质数,创建了checkPrimeNumber()。这个函数检查数字是否为质数。
#include <stdio.h>
int checkPrimeNumber(int n);
int main() {
int n1, n2, i, flag;
printf("输入两个正整数: ");
scanf("%d %d", &n1, &n2);
printf("%d和%d之间的质数为: ", n1, n2);
for (i = n1 + 1; i < n2; ++i) {
// 如果i是质数,flag就等于1
flag = checkPrimeNumber(i);
if (flag == 1)
printf("%d ", i);
}
return 0;
}
//用户定义函数来检查质数
int checkPrimeNumber(int n) {
int j, flag = 1;
for (j = 2; j <= n / 2; ++j) {
if (n % j == 0) {
flag = 0;
break;
}
}
return flag;
}
输出结果
输入两个正整数: 12
30
13和30之间的质数为: 13 17 19 23 29
如果用户首先输入较大的数字,则该程序将无法正常工作。 要解决此问题,您需要先交换数字。