用c语言作答:编写函数求一维整型数组(需键盘输入数组元素的值)中最大的奇数及偶数(分别用全局变量max_odd与max_even表示),并在主函数中输出。
时间: 2024-05-03 17:16:34 浏览: 142
以下是使用C语言编写的代码:
```c
#include <stdio.h>
int max_odd = -1; // 全局变量,用来存储最大的奇数
int max_even = -1; // 全局变量,用来存储最大的偶数
void findMax(int arr[], int n) {
int i;
for (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, i;
printf("请输入数组的长度:");
scanf("%d", &n);
int arr[n];
printf("请输入数组元素的值:\n");
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
findMax(arr, n);
printf("最大的奇数是:%d\n", max_odd);
printf("最大的偶数是:%d\n", max_even);
return 0;
}
```
在这个程序中,我们首先定义了两个全局变量 `max_odd` 和 `max_even`,用来存储最大的奇数和最大的偶数。然后我们编写了一个名为 `findMax` 的函数,用来遍历整个数组,并更新 `max_odd` 和 `max_even` 的值。
在主函数中,我们首先要求用户输入数组的长度和数组元素的值,并将这些值存储在一个名为 `arr` 的数组中。然后我们调用 `findMax` 函数来找到最大的奇数和最大的偶数,并输出它们的值。
注意,这个程序假定输入的数组中至少有一个奇数和一个偶数,否则 `max_odd` 和 `max_even` 的初始值 `-1` 将会被保留。
阅读全文