输入几个数字求其中素数的和c语言
时间: 2024-12-14 21:17:06 浏览: 9
在C语言中,你可以通过编写一个程序来计算输入的一组数字中素数的和。以下是简单的步骤:
1. **函数声明**:
- 创建一个函数,比如`isPrime`用于检查一个数是否是素数。
```c
int isPrime(int num);
```
2. **素数判断函数**:
- 写一个递归或循环函数,如果数小于2,则不是素数;如果能被2到sqrt(num)之间的任意数整除,则也不是素数,否则它是素数。
```c
int isPrime(int num) {
if (num <= 1)
return 0;
for (int i = 2; i * i <= num; i++)
if (num % i == 0)
return 0;
return 1;
}
```
3. **主函数**:
- 使用`scanf`读取用户输入的数字,存储在一个数组中。
- 初始化一个变量`sum`用于累计素数之和。
- 遍历数组,对每个元素调用`isPrime`,如果是素数则加到`sum`上。
```c
main() {
int nums[], n, sum = 0;
printf("Enter the number of integers: ");
scanf("%d", &n);
// 读取并存储数字
nums = malloc(n * sizeof(int));
for (int i = 0; i < n; i++) {
scanf("%d", &nums[i]);
if (isPrime(nums[i]))
sum += nums[i];
}
printf("Sum of prime numbers: %d\n", sum);
free(nums); // 释放内存
}
```
4. **完整示例**:
```c
#include <stdio.h>
#include <math.h> // 引入数学库以获取sqrt()
// 省略isPrime函数实现
int main() {
// ...(上面的主函数内容)
return 0;
}
```
记得处理可能出现的错误,如输入非数字的情况,并确保最后别忘了释放动态分配的内存。
阅读全文