```cpp #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { int n; cin >> n; vector<int> nums(n); for (int i = 0; i < n; ++i) { cin >> nums[i]; } vector<int> odds, evens; for (int num : nums) { if (num % 2 != 0) { odds.push_back(num); } else { evens.push_back(num); } } sort(odds.begin(), odds.end()); sort(evens.begin(), evens.end(), greater<int>()); for (int num : odds) { cout << num << " "; } for (int num : evens) { cout << num << " "; } return 0; } ``` 1. 使用两个vector分别存储奇数和偶数,避免在原数组上频繁操作 2. 对奇数使用默认升序排序,对偶数使用greater降序排序 3. 输出时先输出奇数再输出偶数,保证正确的输出顺序 [2025-04-12 17:09:06 | AI写代码神器 | 237点数解答]