C语言 编写函数求一维整型数组(需键盘输入数组元素的值)中最大的奇数及偶数(分别用全局变量max_odd与max_even表示),并在主函数中输出
时间: 2024-05-09 22:17:28 浏览: 154
好的,根据您的要求,我可以帮您解答这个问题。下面是一个参考代码实现:
```
#include <stdio.h>
int max_odd, max_even; // 全局变量,用于存储最大的奇数与偶数
void find_max(int arr[], int len) { // 定义一个函数来寻找最大的奇数与偶数
int i;
max_odd = -1; // 初始化最大奇数为-1
max_even = -1; // 初始化最大偶数为-1
for (i = 0; i < len; i++) {
if (arr[i] % 2 == 1 && arr[i] > max_odd) { // 如果当前元素是奇数且比最大奇数还大
max_odd = arr[i]; // 更新最大奇数
} else if (arr[i] % 2 == 0 && arr[i] > max_even) { // 如果当前元素是偶数且比最大偶数还大
max_even = arr[i]; // 更新最大偶数
}
}
}
int main() {
int arr[100], len, i;
printf("请输入数组长度:");
scanf("%d", &len);
printf("请输入数组元素:");
for (i = 0; i < len; i++) {
scanf("%d", &arr[i]);
}
find_max(arr, len); // 调用函数寻找最大奇数与偶数
if (max_odd == -1) { // 如果最大奇数为-1,说明不存在奇数
printf("数组中不存在奇数!\n");
} else { // 否则输出最大奇数
printf("数组中最大的奇数为:%d\n", max_odd);
}
if (max_even == -1) { // 如果最大偶数为-1,说明不存在偶数
printf("数组中不存在偶数!\n");
} else { // 否则输出最大偶数
printf("数组中最大的偶数为:%d\n", max_even);
}
return 0;
}
```
希望这个代码能够帮到您。如果您还有其他问题,可以直接问我。
阅读全文