酷代码 AI
菜单
服务商

输入n个数求最大奇数与最小偶数差值的C++实现

以下是解决此问题的C++代码: ```cpp #include <iostream> #include <climits> using namespace std; int main() { int n; cin >> n; // 读取正整数n int max_odd = INT_MIN; // 初始化最大奇数为最小整数值 int min_even = INT_MAX; // 初始化最小偶数为最大整数值 for (int i = 0; i < n; i++) { int num; cin >> num; // 读取每个正整数 if (num % 2 == 1) { // 如果是奇数 if (num > max_odd) { max_odd = num; // 更新最大奇数 } } else { // 如果是偶数 if (num < min_even) { min_even = num; // 更新最小偶数 } } } cout << max_odd - min_even << endl; // 输出最大奇数比最小偶数大的值 return 0; } ``` ### 代码解释: 1. **输入读取**:首先读取正整数`n`,表示接下来要输入的数的个数。 2. **初始化变量**: - `max_odd`初始化为`INT_MIN`,用于存储最大的奇数。 - `min_even`初始化为`INT_MAX`,用于存储最小的偶数。 3. **遍历输入的数**:使用`for`循环读取`n`个正整数,对于每个数: - 如果是奇数(即`num % 2 == 1`),且该数大于当前的`max_odd`,则更新`max_odd`。 - 如果是偶数(即`num % 2 == 0`),且该数小于当前的`min_even`,则更新`min_even`。 4. **输出结果**:最后输出`max_odd - min_even`,即最大的奇数比最小的偶数大多少。 ######[AI问答 | 487点数解答 | 2026-03-21 19:47:06]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]