用C语言编写:求给定范围内素数的函数,要求把所有的素数存放到数组中;然后调用该函数求数组中所有素数之和
时间: 2024-09-22 13:09:21 浏览: 47
在C语言中,你可以创建一个函数来找出给定范围内的素数,并将它们存储到数组中。首先,我们需要一个函数`is_prime()`来判断一个数是否是素数,然后主函数`find_primes_sum()`负责找到并计算素数数组的总和。下面是一个简单的示例:
```c
#include <stdio.h>
#include <stdbool.h>
bool is_prime(int num) {
if (num <= 1)
return false;
for (int i = 2; i * i <= num; i++) {
if (num % i == 0)
return false;
}
return true;
}
void find_primes_in_range(int start, int end, int primes[], int* count) {
*count = 0;
for (int num = start; num <= end; num++) {
if (is_prime(num)) {
primes[*count] = num;
(*count)++;
}
}
}
int sum_of_primes(int primes[], int count) {
int sum = 0;
for (int i = 0; i < count; i++)
sum += primes[i];
return sum;
}
int main() {
int lower_bound = 5; // 范围下限,比如从5开始找素数
int upper_bound = 50; // 范围上限
int primes[upper_bound]; // 素数数组,假设足够大
int prime_count = 0;
find_primes_in_range(lower_bound, upper_bound, primes, &prime_count);
int total_sum = sum_of_primes(primes, prime_count);
printf("素数之和: %d\n", total_sum);
return 0;
}
```
在这个例子中,我们首先初始化了一个`prime_count`变量用于计数,然后在`find_primes_in_range()`函数中遍历指定范围内的数字,如果是素数就将其添加到数组中并更新计数器。最后,`sum_of_primes()`函数计算并返回数组中素数的总和。
注意:这个程序没有处理数组大小不足的情况,实际应用中你需要确保提供的数组大小足以存放所有素数。
阅读全文