用c语言编一个程序求质数的和
时间: 2024-05-09 16:21:15 浏览: 84
以下是用C语言编写的求质数的和的程序:
```c
#include <stdio.h>
int is_prime(int n) {
int i;
if (n < 2) {
return 0;
}
for (i = 2; i <= n / 2; i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
int main() {
int n, i, sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 2; i <= n; i++) {
if (is_prime(i)) {
sum += i;
}
}
printf("1到%d之间的所有质数的和为:%d\n", n, sum);
return 0;
}
```
程序的主要思路是通过一个 `is_prime` 函数来判断一个数是否为质数,如果是,则将其加入到总和中。`is_prime` 函数中的循环从2开始遍历到 n/2,如果发现有一个数可以整除 n,则 n 不是质数。如果循环结束后没有找到可以整除 n 的数,则 n 是质数。程序中使用一个 for 循环遍历 2 到 n 之间的所有数,对每个数都调用 `is_prime` 函数,如果返回值为1(即是质数),则将该数加入到总和中。
程序运行后会提示用户输入一个正整数 n,然后输出 1 到 n 之间的所有质数的和。
阅读全文