C语言:求一个10位数数组中负数的和、奇数的和、偶数的和以及质数的和,编写一个程序实现
时间: 2024-12-02 22:19:00 浏览: 0
C语言第07章-一维数组和二维数组1完整.pptx
在C语言中,你可以通过遍历数组并利用相应的条件判断来计算每个部分的和。这里是一个简单的示例程序,它会帮助你完成这个任务:
```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;
}
int main() {
int arr[10]; // 假设这是一个10位数的数组
int neg_sum = 0, odd_sum = 0, even_sum = 0, prime_sum = 0;
// 输入10个整数
printf("Enter 10 numbers:\n");
for (int i = 0; i < 10; i++) {
scanf("%d", &arr[i]);
// 分别累加
neg_sum += arr[i] < 0 ? arr[i] : 0; // 负数和
if (arr[i] % 2 != 0) { // 奇数和
odd_sum += arr[i];
} else { // 偶数和
even_sum += arr[i];
}
// 检查质数并累加
if (is_prime(arr[i])) {
prime_sum += arr[i];
}
}
printf("Sum of negative numbers: %d\n", neg_sum);
printf("Sum of odd numbers: %d\n", odd_sum);
printf("Sum of even numbers: %d\n", even_sum);
printf("Sum of prime numbers: %d\n", prime_sum);
return 0;
}
```
在这个程序中,我们首先定义了一个`is_prime`函数用于检查数字是否为质数。然后,在主函数中,我们遍历数组,对每个元素应用适当的条件,并分别更新负数、奇数、偶数和质数的总和。
阅读全文