编写函数求一维整型数组(需键盘输入数组元素的值)中最大的奇数及偶数(分别用全局变量max_odd与max_even表示),并在主函数中输出。
时间: 2024-05-16 12:12:44 浏览: 40
以下是实现该函数的示例代码:
```c
#include <stdio.h>
int max_odd = -1; // 最大奇数,初始化为-1
int max_even = -1; // 最大偶数,初始化为-1
void find_max(int arr[], int n) {
for (int i = 0; i < n; i++) {
if (arr[i] % 2 == 0 && arr[i] > max_even) {
max_even = arr[i]; // 更新最大偶数
} else if (arr[i] % 2 == 1 && arr[i] > max_odd) {
max_odd = arr[i]; // 更新最大奇数
}
}
}
int main() {
int n;
printf("请输入数组长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素:");
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
find_max(arr, n);
printf("最大奇数为:%d\n", max_odd);
printf("最大偶数为:%d\n", max_even);
return 0;
}
```
首先在全局定义中声明两个变量 `max_odd` 和 `max_even`,并初始化为 -1。在 `find_max` 函数中,遍历数组,判断每个元素是奇数还是偶数,并与当前记录的最大奇数或最大偶数进行比较,如果当前元素比记录的最大值要大,则更新最大值。最后在主函数中,读入数组长度和元素,并调用 `find_max` 函数,输出最大奇数和最大偶数。
阅读全文