酷代码 AI
菜单
服务商

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

### 🍭思路分析 为了求出最大的奇数比最小的偶数大多少,我们需要遍历输入的 `n` 个数,在遍历过程中分别记录最大的奇数和最小的偶数。用最大的奇数减去最小的偶数就能得到结果。 ### 💻代码实现 ```cpp #include <iostream> #include <climits> int main() { int n; std::cout << "请输入数字的个数: "; std::cin >> n; int maxOdd = INT_MIN; // 初始化最大奇数为最小整数 int minEven = INT_MAX; // 初始化最小偶数为最大整数 std::cout << "请输入 " << n << " 个在 1 到 100 范围内的数:" << std::endl; for (int i = 0; i < n; ++i) { int num; std::cin >> num; // 检查输入的数是否在 1 到 100 范围内 if (num < 1 || num > 100) { std::cout << "输入的数不在 1 到 100 范围内,请重新输入。" << std::endl; --i; // 重新输入该位置的数 continue; } if (num % 2 == 0) { // 偶数 if (num < minEven) { minEven = num; } } else { // 奇数 if (num > maxOdd) { maxOdd = num; } } } // 计算最大奇数比最小偶数大的值 int difference = maxOdd - minEven; std::cout << "最大的奇数比最小的偶数大: " << difference << std::endl; return 0; } ``` ### 📚代码解释 1. **变量初始化**:`maxOdd` 初始化为 `INT_MIN`,用于存储最大的奇数;`minEven` 初始化为 `INT_MAX`,用于存储最小的偶数。 2. **输入处理**:通过 `for` 循环读取 `n` 个数,对于每个数,检查其是否在 1 到 100 范围内,如果不在则提示用户重新输入。 3. **奇偶判断**:使用 `num % 2` 判断数的奇偶性,若余数为 0 则为偶数,否则为奇数。 4. **更新最大奇数和最小偶数**:对于偶数,如果它比当前的 `minEven` 小,则更新 `minEven`;对于奇数,如果它比当前的 `maxOdd` 大,则更新 `maxOdd`。 5. **计算差值**:最后用 `maxOdd` 减去 `minEven` 得到结果并输出。 ### 🎈开发建议 - **输入验证**:在实际开发中,输入验证非常重要,可以避免因非法输入导致的程序崩溃。 - **错误处理**:可以添加更多的错误处理逻辑,例如当用户输入非数字时的处理。 - **代码复用**:可以将输入处理和奇偶判断的逻辑封装成函数,提高代码的复用性。 ######[AI写代码神器 | 741点数解答 | 2026-02-14 21:59:22]

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