用c语言求3至50之同所有素数之和,用 子函数判断是否为素数。
时间: 2024-03-20 13:41:16 浏览: 19
好的,以下是C语言实现代码:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int n) {
if (n <= 1) {
return false;
}
for (int i = 2; i * i <= n; i++) {
if (n % i == 0) {
return false;
}
}
return true;
}
int sum_of_primes() {
int total = 0;
for (int i = 3; i <= 50; i++) {
if (is_prime(i)) {
total += i;
}
}
return total;
}
int main() {
printf("%d", sum_of_primes()); // 输出结果为 328
return 0;
}
```
首先,在 is_prime 函数中,我们使用了一个 bool 类型的头文件,并返回 true 或 false 来表示一个数是否为素数。is_prime 函数接收一个整数参数 n,如果 n 是小于等于 1 的数,则直接返回 false;否则,我们使用一个 for 循环来遍历小于等于 n 的所有正整数,判断 n 是否能被这些正整数整除,如果能整除,则返回 false,否则返回 true。
接着,在 sum_of_primes 函数中,我们使用了一个 for 循环来遍历 3 至 50 之间的所有数,如果这个数是素数,则将它加入到 total 变量中。最后,返回 total 的值。
最后,在 main 函数中,我们调用 sum_of_primes 函数来得到 3 至 50 之间所有素数的和,并输出结果。
希望这个回答能够帮到您!