用C语言编写下列题目:求2011~9999直接的素数平均值。(要求用循环实现)
时间: 2023-12-03 13:43:57 浏览: 83
以下是用C语言编写的求2011~9999直接的素数平均值的程序:
```c
#include <stdio.h>
int main() {
int sum = 0, count = 0;
for (int i = 2011; i <= 9999; i++) {
int is_prime = 1;
for (int j = 2; j <= i / 2; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
sum += i;
count++;
}
}
printf("2011~9999直接的素数平均值为%.2f\n", (float)sum / count);
return 0;
}
```
程序首先定义了两个变量`sum`和`count`,分别用于记录素数的和和数量。然后使用两层循环,外层循环遍历2011~9999之间的所有整数,内层循环判断当前整数是否为素数。判断素数的方法是从2到当前数的一半遍历,如果能找到一个数能够整除当前数,则说明当前数不是素数,将`is_prime`标记为0,跳出循环。如果遍历完整个循环都没有找到能够整除当前数的数,则说明当前数是素数,将`sum`加上当前数,`count`加1。最后输出平均值即可。