c语言中输入一个正整数n,求出并显示2~n之间所有素数的和。
时间: 2024-03-22 22:42:58 浏览: 51
C语言 求素数的和。
好的,这是一个简单的数学计算题目。下面是 C 语言的代码实现:
```c
#include <stdio.h>
#include <math.h>
int is_prime(int n) {
if (n == 2) {
return 1;
} else if (n % 2 == 0 || n == 1) {
return 0;
} else {
int i;
int max_factor = sqrt(n);
for (i = 3; i <= max_factor; i += 2) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
}
int main() {
int n, i;
int sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("2~%d之间所有素数的和为:%d\n", n, sum);
return 0;
}
```
以上代码中,`is_prime` 函数用于判断一个数是否为素数,然后在 `main` 函数中遍历 2 到 n 之间的所有数字,并将素数的和累加到 `sum` 变量中,最后输出结果。
希望这个回答能够对你有所帮助!
阅读全文