c语言输出素数
时间: 2025-05-16 11:59:19 浏览: 20
### 如何用C语言编写程序来输出素数
以下是通过C语言实现输出指定范围内所有素数的代码示例:
```c
#include <stdio.h>
// 定义函数用于判断某个数是否为素数
int isPrime(int num) {
if (num <= 1) return 0; // 小于等于1的数不是素数
for (int i = 2; i * i <= num; i++) { // 只需遍历到sqrt(num)
if (num % i == 0) return 0;
}
return 1;
}
void printPrimesInRange(int start, int end) {
printf("范围 [%d, %d] 内的素数有:\n", start, end);
for (int i = start; i <= end; i++) {
if (isPrime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
int main() {
int lowerBound, upperBound;
printf("请输入起始值和结束值(两个正整数):");
scanf("%d%d", &lowerBound, &upperBound);
if (lowerBound > upperBound || lowerBound < 0 || upperBound < 0) {
printf("输入错误,请确保起始值小于等于结束值且均为非负数。\n");
} else {
printPrimesInRange(lowerBound, upperBound);
}
return 0;
}
```
#### 解析
上述代码实现了从用户定义的一个区间 `[start, end]` 中找出所有的素数并打印出来。其中 `isPrime()` 函数用来检测给定数字是否为素数[^4]。
优化方面,在循环条件中只检查至平方根即可减少不必要的计算量,从而提高效率[^5]。
#### 输出样例
假设用户输入如下数据:
```
请输入起始值和结束值(两个正整数):10 30
```
则程序会返回:
```
范围 [10, 30] 内的素数有:
11 13 17 19 23 29
```
阅读全文
相关推荐


















