C语言:输入一个大于2的正整数,求该数内(含)的所有素数。 输入格式: 一个不小于2的正整数,在int范围内。 输出格式: 上述输入数内(含)的所有素数,按从小到大的顺序依次输出,要求每个素数单独占一行。
时间: 2024-10-06 15:05:06 浏览: 44
输出n以内的所有素数 c语言:找出N以内的所有素数
在C语言中,我们可以编写一个函数来判断一个数是否是素数,然后遍历输入的整数范围内的所有数,找出其中的素数。以下是实现这个功能的代码片段:
```c
#include <stdio.h>
#include <stdbool.h> // 引入bool类型
bool is_prime(int num) {
if (num <= 1) return false; // 小于等于1的数不是素数
if (num == 2) return true; // 2是唯一的偶数素数
if (num % 2 == 0) return false; // 偶数(除了2)不是素数
for (int i = 3; i * i <= num; i += 2) { // 只需要检查奇数因子
if (num % i == 0)
return false;
}
return true;
}
int main() {
int input;
printf("请输入一个大于2的正整数: ");
scanf("%d", &input);
printf("该数范围内的素数有:\n");
for (int i = 2; i <= input; ++i) {
if (is_prime(i))
printf("%d\n", i);
}
return 0;
}
```
这段代码首先定义了一个辅助函数 `is_prime`,用于判断一个数是否是素数。主函数中,用户输入一个正整数,然后我们从2开始遍历到这个数,对于每一个数,如果它通过了素数判断,就将其输出到新的一行。
阅读全文