c语言素数输出
时间: 2025-03-11 19:24:42 浏览: 30
### 输出素数的C语言程序
为了输出指定范围内的所有素数,可以采用优化后的算法来减少不必要的计算。下面是一个完整的C语言程序示例,该程序能够有效地找出并打印给定区间内的所有素数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) return false;
if (n == 2 || n == 3) return true;
if (n % 2 == 0 || n % 3 == 0) return false;
for (int i = 5; i * i <= n; i += 6) {
if (n % i == 0 || n % (i + 2) == 0)
return false;
}
return true;
}
void print_primes_in_range(int start, int end) {
printf("Prime numbers between %d and %d are:\n", start, end);
for (int num = start; num <= end; ++num) {
if (is_prime(num)) {
printf("%d ", num);
}
}
printf("\n");
}
int main() {
int lower_bound = 1;
int upper_bound = 100;
print_primes_in_range(lower_bound, upper_bound);
return 0;
}
```
上述代码定义了一个`is_prime()`函数用于检测单个整数是否为素数[^1]。此函数通过排除偶数和其他简单情况提高了效率,并利用了除法测试仅需到平方根的事实以及六步增量模式进一步减少了迭代次数。
另一个辅助函数`print_primes_in_range()`接收两个参数作为区间的上下限,遍历这个范围内所有的自然数,并调用`is_prime()`来进行验证,最后将找到的所有素数打印出来[^2]。
在`main()`函数中设置了默认的搜索边界(这里设定了从1至100),当然可以根据实际需求调整这些值。
阅读全文
相关推荐

















