求一个十位数数组中负数的和,奇数的和,偶数的和以及质数的和,编写一个c语言程序实现
时间: 2024-12-02 07:19:46 浏览: 20
为了实现这个功能,你可以创建一个C语言程序,它首先初始化变量分别存储负数、奇数、偶数和质数的和。然后遍历输入的十位数数组,对每个元素进行判断并累加到相应的和中。下面是一个简单的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;
}
void calculate_sums(int arr[], int n, int* neg_sum, int* odd_sum, int* even_sum, int* prime_sum) {
*neg_sum = 0;
*odd_sum = 0;
*even_sum = 0;
*prime_sum = 0;
for (int i = 0; i < n; i++) {
int num = arr[i];
// 判断并累加
if (num < 0)
*neg_sum += num;
else if (num % 2 == 0)
*even_sum += num;
else if (is_prime(num))
*prime_sum += num;
else
*odd_sum += num;
}
}
int main() {
int arr[10]; // 假设这是一个长度为10的整数数组
int neg_sum = 0, odd_sum = 0, even_sum = 0, prime_sum = 0;
int n = sizeof(arr) / sizeof(arr[0]);
// 输入或预先赋值数组元素
calculate_sums(arr, n, &neg_sum, &odd_sum, &even_sum, &prime_sum);
printf("Negative numbers sum: %d\n", neg_sum);
printf("Odd numbers sum: %d\n", odd_sum);
printf("Even numbers sum: %d\n", even_sum);
printf("Prime numbers sum: %d\n", prime_sum);
return 0;
}
```
在这个程序中,`is_prime` 函数用于检查一个数字是否为质数,`calculate_sums` 函数则遍历数组并对结果进行计算。在`main`函数中,你需要提供一个实际的数组作为输入。
阅读全文