猜语言任意输入n个整数,分别统计奇数的和、奇数的个数、偶数的和、偶数的个数。
时间: 2024-10-13 10:13:07 浏览: 32
在C语言中,你可以创建一个函数来接收用户输入的整数数组,并计算奇数和偶数的相关信息。以下是一个基本的实现方法:
```c
#include <stdio.h>
// 函数声明
void countNumbers(int arr[], int n, int *oddSum, int *oddCount, int *evenSum, int *evenCount);
int main() {
int n, number, oddSum = 0, oddCount = 0, evenSum = 0, evenCount = 0;
printf("请输入整数的数量:");
scanf("%d", &n);
int arr[n];
for (int i = 0; i < n; i++) {
printf("请输入第 %d 个数:", i + 1);
scanf("%d", &number);
arr[i] = number;
if (number % 2 == 0) { // 判断是否为偶数
evenSum += number;
evenCount++;
} else {
oddSum += number;
oddCount++;
}
}
countNumbers(arr, n, &oddSum, &oddCount, &evenSum, &evenCount);
printf("奇数之和:%d\n", oddSum);
printf("奇数个数:%d\n", oddCount);
printf("偶数之和:%d\n", evenSum);
printf("偶数个数:%d\n", evenCount);
return 0;
}
// 计算并打印结果的函数
void countNumbers(int arr[], int n, int *oddSum, int *oddCount, int *evenSum, int *evenCount) {
printf("内部计算:\n");
*oddSum = 0; // 初始化临时奇数和
*oddCount = 0; // 初始化奇数计数
*evenSum = 0; // 初始化临时偶数和
*evenCount = 0; // 初始化偶数计数
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0) {
(*evenSum)++;
} else {
(*oddSum)++;
}
}
*oddCount = n - *evenCount; // 更新奇数个数(因为偶数加起来就是总数减去奇数)
}
```
在这个程序中,我们首先获取用户输入的整数数量,然后依次读入每个数并根据奇偶性更新相应的总和和计数。最后,我们在`countNumbers`函数里再次计算这些值。
阅读全文