酷代码 AI
菜单
服务商

C++ 实现奇数偶数按要求排序

以下是使用 C++ 实现上述排序要求的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n; std::cin >> n; // 输入整数的数量 std::vector<int> odd; // 用于存储奇数 std::vector<int> even; // 用于存储偶数 for (int i = 0; i < n; ++i) { int num; std::cin >> num; // 输入每个整数 if (num % 2 == 1) { odd.push_back(num); // 如果是奇数,添加到奇数向量中 } else { even.push_back(num); // 如果是偶数,添加到偶数向量中 } } // 对奇数向量进行从大到小排序 std::sort(odd.begin(), odd.end(), std::greater<int>()); // 对偶数向量进行从小到大排序 std::sort(even.begin(), even.end()); // 输出排序后的奇数 for (size_t i = 0; i < odd.size(); ++i) { std::cout << odd[i]; if (i < odd.size() - 1 ||!even.empty()) { std::cout << " "; } } // 输出排序后的偶数 for (size_t i = 0; i < even.size(); ++i) { std::cout << even[i]; if (i < even.size() - 1) { std::cout << " "; } } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入处理**:首先读取整数的数量 `n`,然后循环读取 `n` 个整数。对于每个整数,判断它是奇数还是偶数,并分别存放到 `odd` 和 `even` 两个向量中。 2. **排序操作**:使用 `std::sort` 函数对奇数向量进行从大到小排序(通过 `std::greater<int>()` 实现),对偶数向量进行从小到大排序。 3. **输出结果**:先输出排序后的奇数,再输出排序后的偶数,数与数之间用空格分隔。 ######[AI问答 | 535点数解答 | 2026-02-25 20:14:46]

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