写出一个c语言代码 要求是列出n以内所有的素数:输入一个大于2的整数,输出该数以内的所有素数。例如输入:38 输出:2 3 5 7 11 13 17 19 23 29 31 37 输入:-7 输出:输入错误
时间: 2024-10-24 20:18:22 浏览: 1
以下是使用 C 语言编写的一个程序,用于列举输入范围内的所有素数:
```c
#include <stdio.h>
// 判断是否为素数的函数
int is_prime(int num) {
if (num <= 1) return 0;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) return 0; // 如果能被除尽,则不是素数
}
return 1; // 否则是素数
}
// 主函数,接收用户输入并输出素数
int main() {
int n;
printf("请输入一个大于2的整数:");
scanf("%d", &n);
if (n <= 2 || n < 0) {
printf("输入错误\n");
} else {
printf("素数列表:\n");
for (int i = 2; i < n; i++) {
if (is_prime(i)) {
printf("%d ", i);
}
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们首先定义了一个 `is_prime` 函数用于判断给定数字是否为素数。接着,在主函数中获取用户输入,如果输入小于等于2或者负数,提示输入错误;否则,遍历从2到n-1的所有整数,如果是素数就打印出来。
运行这个程序时,按照提示输入一个大于2的整数即可看到结果。
阅读全文