酷代码 AI
菜单
服务商

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

### 🔍问题分析 本题的目标是从输入的`n`个在1到100范围内的整数中,找出最大的奇数和最小的偶数,然后计算它们的差值。我们需要遍历输入的所有数字,分别记录最大的奇数和最小的偶数,最后计算两者的差值。 ### 💻代码实现 ```cpp #include <iostream> #include <climits> int main() { int n; std::cin >> n; // 初始化最大奇数为最小可能值,最小偶数为最大可能值 int max_odd = INT_MIN; int min_even = INT_MAX; for (int i = 0; i < n; ++i) { int num; std::cin >> num; // 判断是否为奇数 if (num % 2 != 0) { if (num > max_odd) { max_odd = num; } } // 判断是否为偶数 else { if (num < min_even) { min_even = num; } } } // 计算最大奇数与最小偶数的差值 int difference = max_odd - min_even; std::cout << difference << std::endl; return 0; } ``` ### 📝代码解释 1. **变量初始化**: - `max_odd`初始化为`INT_MIN`,用于记录最大的奇数。 - `min_even`初始化为`INT_MAX`,用于记录最小的偶数。 2. **输入处理**: - 首先读取整数`n`,表示输入数字的个数。 - 然后使用`for`循环读取`n`个整数。 3. **奇数和偶数的判断与更新**: - 对于每个输入的数字,使用`num % 2 != 0`判断是否为奇数。如果是奇数且大于当前的`max_odd`,则更新`max_odd`。 - 如果是偶数且小于当前的`min_even`,则更新`min_even`。 4. **计算差值并输出**: - 最后计算`max_odd`和`min_even`的差值,并将结果输出。 ### 🚀开发建议 - **边界条件检查**:虽然题目保证至少有一个奇数和一个偶数,但在实际开发中,最好添加边界条件检查,以确保程序的健壮性。 - **错误处理**:可以添加输入验证,确保输入的数字在1到100的范围内。 - **代码复用**:可以将查找最大奇数和最小偶数的逻辑封装成函数,提高代码的复用性。 ######[AI写代码神器 | 637点数解答 | 2026-03-07 21:21:53]

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