编写 C 程序完成以下功能: 1.在主函数中输入数组测试用例,调用 fun 函数实现功能。 2.函数 fun 的功能是分别求出数组中所有的奇数之和和所有的偶数之和。形参 n 给出了数组中数据的个数;利用 odd 返回奇数之和,利用指针 even 返回偶数之和。
时间: 2024-09-18 16:06:02 浏览: 47
C++ 17转发一个函数调用的完美实现
在C语言中,你可以编写如下的程序来实现这个功能:
```c
#include <stdio.h>
// 定义函数fun,接收整型数组和其大小作为参数
void fun(int arr[], int n, int *odd, int *even) {
int sum_odd = 0, sum_even = 0; // 初始化奇数和偶数之和
for (int i = 0; i < n; i++) { // 遍历数组
if (arr[i] % 2 == 0) { // 如果元素是偶数
sum_even += arr[i]; // 加入到偶数之和
} else { // 如果元素是奇数
sum_odd += arr[i]; // 加入到奇数之和
}
}
*odd = sum_odd; // 将奇数和赋值给odd指针
*even = sum_even; // 将偶数和赋值给even指针
}
int main() {
int n;
printf("请输入数组元素个数: ");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:\n");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
int odd_sum, even_sum; // 定义临时变量存储结果
fun(arr, n, &odd_sum, &even_sum); // 调用fun函数并传入结果地址
printf("奇数之和: %d\n", odd_sum);
printf("偶数之和: %d\n", even_sum);
return 0;
}
```
在这个程序中,`main()`函数负责获取用户输入的数组长度和元素,然后通过`fun()`函数计算奇数和偶数之和,并将结果存储在`odd_sum`和`even_sum`变量中。`fun()`函数接受数组、数组大小以及两个指向整数的指针,以便更新它们的值。
阅读全文