C语言定义一个函数,其功能是接收一个整数(即, 要有参数传递)将2到该数的所有素数相加后输出结果。在主函数中实现键盘输入该整数(若输入值小于2则提示“输入错误”),将其通过参数传递给自定义函数自定义函数实现素数判断及求和后返回结果或直接输出结果。 强调:必须要有自定义
时间: 2024-12-12 20:19:18 浏览: 30
在C语言中,你可以定义一个函数`sum_primes`来完成这个任务。首先,我们需要创建一个辅助函数`is_prime`来判断一个数是否为素数,然后在`sum_primes`函数里调用它并累加素数。以下是详细的代码示例:
```c
#include <stdio.h>
#include <stdbool.h>
// 自定义函数,判断一个数是否为素数
bool is_prime(int num) {
if (num <= 1) // 素数大于1
return false;
for (int i = 2; i * i <= num; i++) { // 只需检查到sqrt(num)
if (num % i == 0) // 如果能被整除,则不是素数
return false;
}
return true;
}
// 主函数,接收用户输入并调用sum_primes函数
int main() {
int input;
printf("请输入一个整数: ");
scanf("%d", &input);
if (input < 2) {
printf("输入错误! 输入值应大于等于2.\n");
return 0;
}
// 定义sum_primes函数,传入输入的整数
long long sum = sum_primes(input);
// 输出结果
printf("2到%d之间的素数之和为: %lld\n", input, sum);
return 0;
}
// 定义sum_primes函数,接受一个整数并计算2到该数的素数之和
long long sum_primes(int n) {
long long result = 0;
for (int i = 2; i <= n; i++) {
if (is_prime(i)) {
result += i; // 累加素数
}
}
return result;
}
```
阅读全文