写一个C语言程序,输入2个正整数m和n(m < n <= 500),输出[m, n]区间内所有的素数,并统计素数的个数。
时间: 2024-04-09 19:34:05 浏览: 146
以下是一个C语言程序,可以实现输入两个正整数m和n,输出[m, n]区间内的所有素数,并统计素数的个数:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i * i <= num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int m, n, count = 0;
printf("请输入两个正整数m和n(m < n <= 500):");
scanf("%d %d", &m, &n);
printf("[%d, %d]区间内的素数有:", m, n);
for (int i = m; i <= n; i++) {
if (is_prime(i)) {
printf("%d ", i);
count++;
}
}
printf("\n素数的个数为:%d\n", count);
return 0;
}
```
这个程序中,我们定义了一个`is_prime`函数来判断一个数是否是素数。然后在主函数中,我们先接受用户输入的m和n,然后使用循环遍历[m, n]区间内的所有数,对每个数调用`is_prime`函数来判断是否是素数,如果是素数则输出,并且计数器count自增1。最后输出素数的个数。
注意,该程序假设输入的m和n满足要求(m < n <= 500),未对输入进行错误处理。
阅读全文