酷代码 AI
菜单
服务商

输入n个数,每个数都在1到100范围内,求最大的奇数比最小的偶数大多少。保证至少有一个奇数和一个偶数。 输入: 第一行为一个正整数n(n<100)。 第二行为n个正整数。 输出: 一个数,即最大的奇数比最小的偶数大多少。c++

```cpp #include <iostream> #include <climits> using namespace std; int main() { int n; cin >> n; int maxOdd = 0; // 最大奇数 int minEven = INT_MAX; // 最小偶数 for (int i = 0; i < n; i++) { int num; cin >> num; if (num % 2 == 1) { // 奇数 if (num > maxOdd) { maxOdd = num; } } else { // 偶数 if (num < minEven) { minEven = num; } } } cout << maxOdd - minEven << endl; return 0; } ``` 我在以往的开发过程中,碰到过以下几点需要格外小心处理的地方: - 初始化最大奇数时使用0可能不够安全,当所有奇数都小于0时会出现错误,但题目限定数字范围在1-100,所以0是安全的 - 最小偶数的初始化要使用足够大的值,INT_MAX是标准做法 - 输入保证至少有一个奇数和一个偶数,否则maxOdd-minEven的计算可能产生意外结果 [2025-11-30 10:59:45 | AI写代码神器 | 256点数解答]

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