输入两个均大于1的正整数,求两个正整数之间的所有素数的个数及素数均值,
时间: 2023-08-08 20:08:07 浏览: 101
好的,以下是 C 语言的代码示例:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
int i;
if (n <= 1) {
return 0;
}
for (i = 2; i <= sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int a, b, count = 0, sum = 0;
double avg;
printf("请输入两个大于1的正整数:");
scanf("%d %d", &a, &b);
printf("%d和%d之间的素数有:\n", a, b);
for (int i = a; i <= b; i++) {
if (is_prime(i)) {
printf("%d ", i);
count++;
sum += i;
}
}
printf("\n素数个数为:%d\n", count);
if (count > 0) {
avg = (double) sum / count;
printf("素数均值为:%.2f\n", avg);
}
return 0;
}
```
代码中的 `is_prime()` 函数用于判断一个数是否为素数,如果是返回 1,否则返回 0。在 `main()` 函数中,先输入两个大于 1 的正整数 `a` 和 `b`,然后计算出 `a` 和 `b` 之间所有素数的个数和均值。最后输出结果。
阅读全文