用C语言求1到1000以内素数的平均数
时间: 2023-08-05 22:07:33 浏览: 61
以下是用C语言求1到1000以内素数的平均数的代码:
```c
#include <stdio.h>
int main() {
int i, j, is_prime, count = 0, sum = 0;
for (i = 2; i <= 1000; i++) {
is_prime = 1;
for (j = 2; j <= i / 2; j++) {
if (i % j == 0) {
is_prime = 0;
break;
}
}
if (is_prime) {
count++;
sum += i;
}
}
printf("1到1000以内素数的平均数为:%.2f\n", (float)sum / count);
return 0;
}
```
代码中使用了两个循环,外层循环遍历1到1000之间的所有数字,内层循环判断每个数字是否是素数。如果是素数,则将其累加到sum变量中,并将计数器count加1。最后输出素数的平均数。需要注意的是,为了避免整数除法带来的误差,需要将sum强制转换为float类型再除以count。
相关问题
c语言求1到20以内素数
以下是求1到20以内素数的C语言代码:
```
#include <stdio.h>
int main() {
int i, j, flag;
for (i = 2; i <= 20; i++) {
flag = 1; // 假设i是素数
for (j = 2; j < i; j++) {
if (i % j == 0) { // 如果i能被j整除,说明i不是素数
flag = 0;
break;
}
}
if (flag) { // 如果i是素数,则输出
printf("%d ", i);
}
}
return 0;
}
```
运行结果:
```
2 3 5 7 11 13 17 19
```
用c语言求1-1000内素数个数
```
#include <stdio.h>
int isPrime(int num) { // 判断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 count = 0; // 计数器,记录素数的个数
for(int i = 1; i <= 1000; i++) {
if(isPrime(i)) {
count++;
}
}
printf("1-1000内素数个数为:%d\n", count);
return 0;
}
```