C语言中素数质数请输入B区间的两个端点数在计算两个端点区间素数之和第一个自定义函数判断参数是不是素数第二个字定义函数进行素数的相加
时间: 2024-09-08 14:02:55 浏览: 60
在C语言中,我们可以编写两个自定义函数来分别判断一个数是否为素数以及计算给定范围内的素数之和。下面是一个简单的示例:
首先,我们需要定义一个判断素数的函数 `is_prime`:
```c
#include <stdbool.h> // 引入bool类型
bool is_prime(int num) {
if (num <= 1) return false; // 素数大于1
for (int i = 2; i * i <= num; i++) { // 只需检查到sqrt(num)
if (num % i == 0) return false; // 如果能被整除,则不是素数
}
return true; // 否则,它是素数
}
```
接下来,我们定义一个计算区间内素数之和的函数 `sum_primes_in_range`:
```c
int sum_primes_in_range(int start, int end) {
int sum = 0;
for (int i = start; i <= end; i++) {
if (is_prime(i)) {
sum += i;
}
}
return sum;
}
```
`sum_primes_in_range` 函数会遍历给定的区间 [start, end],对每个数字调用 `is_prime` 函数,如果是素数就累加到总和上。
在 `main` 函数里,你可以像这样使用这两个函数:
```c
int main() {
int start, end;
printf("请输入区间的起始和结束端点: ");
scanf("%d%d", &start, &end);
if (start > end) {
printf("错误: 起始点应小于或等于结束点。\n");
return 1;
}
int result = sum_primes_in_range(start, end);
printf("区间 [%d, %d] 内的素数之和为: %d\n", start, end, result);
return 0;
}
```
阅读全文