酷代码 AI
菜单
服务商

输入n个数,每个数都在1到100范围内,求最大的奇数比最小的偶数大多少。保证至少有一个奇数和一个偶数。 输入: 第一行为一个正整数n(n<100)。 第二行为n个正整数。 输出: 一个数,即最大的奇数比最小的偶数大多少。 输入样例1: 10 1 2 3 4 5 6 7 8 9 10 输出样例1: 7 输入样例2: 10 1 3 5 7 9 10 12 14 16 18 输出样例2: -1C++

```cpp #include <iostream> int main() { int n; std::cin >> n; // 初始化最大奇数为一个较小值,最小偶数为一个较大值 int maxOdd = -1; int minEven = 101; for (int i = 0; i < n; i++) { int num; std::cin >> num; // 判断是否为奇数并更新最大奇数 if (num % 2 != 0 && num > maxOdd) { maxOdd = num; } // 判断是否为偶数并更新最小偶数 if (num % 2 == 0 && num < minEven) { minEven = num; } } // 计算差值 int result = maxOdd - minEven; std::cout << result << std::endl; return 0; } ``` 代码解释: 1. 输入处理:首先读取正整数 `n`,表示有 `n` 个正整数需要输入。 2. 初始化变量:`maxOdd` 初始化为 `-1`,用于存储最大的奇数;`minEven` 初始化为 `101`,用于存储最小的偶数。 3. 循环读取整数:使用 `for` 循环读取 `n` 个正整数。 4. 奇偶判断与更新:对于每个读取的整数 `num`,判断其奇偶性。如果是奇数且比当前的 `maxOdd` 大,则更新 `maxOdd`;如果是偶数且比当前的 `minEven` 小,则更新 `minEven`。 5. 计算差值并输出:计算 `maxOdd` 与 `minEven` 的差值并输出。 [2026-02-11 17:41:19 | AI问答 | 406点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多