C++实现整数序列奇偶分类排序
以下是实现该功能的C++代码: ```cpp #include <iostream> #include <vector> #include <algorithm> // 自定义比较函数,用于奇数从大到小排序 bool compareOdd(int a, int b) { return a > b; } // 自定义比较函数,用于偶数从小到大排序 bool compareEven(int a, int b) { return a < b; } 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(), compareOdd); // 对偶数进行从小到大排序 std::sort(even.begin(), even.end(), compareEven); // 输出排序后的结果 for (int i = 0; i < odd.size(); ++i) { std::cout << odd[i]; if (i < odd.size() - 1 || !even.empty()) { std::cout << " "; } } for (int 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`函数对`odd`向量按从大到小排序,对`even`向量按从小到大排序。 3. **输出**:先输出排序后的奇数,再输出排序后的偶数,数与数之间用空格分隔。 ######[AI问答 | 530点数解答 | 2026-02-27 22:27:29]
- 求解特定条件下整数序列的最小值:算法分析与代码实现(字节豆包 | 746点数解答 | 2026-01-24 13:14:40)40
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)330
- Python 实现:四位数重组求最大最小数差值(字节豆包 | 144点数解答 | 2026-02-01 12:49:54)15
- Python 代码求解:小明当选 Y 国总统至少需多少选民支持?(字节豆包 | 207点数解答 | 2026-02-01 12:51:14)20
- 拍卖干草:如何定价才能收益最大化?(DeepSeek | 1171点数解答 | 2026-02-23 21:10:09)10
- C 语言:按特定顺序读入并输出浮点数、整数和字符(字节豆包 | 106点数解答 | 2024-09-26 00:32:40)302
- C语言:按序读入浮点数、整数、字符并按新顺序输出,附代码实现 (字节豆包 | 108点数解答 | 2024-09-30 22:54:08)319
- C语言:按特定顺序读入并输出浮点数、整数和字符,精确控制小数位(字节豆包 | 155点数解答 | 2024-10-08 22:06:18)309
- C++与Python:按特定顺序输入输出数据并保留浮点数两位小数的实现(字节豆包 | 168点数解答 | 2024-10-08 22:07:03)315
- C语言:按特定顺序读入再输出,含浮点数精确格式处理(字节豆包 | 105点数解答 | 2024-10-08 22:07:29)322
- C++ 混合类型数据格式化输入输出:按指定顺序输出并保留两位小数(字节豆包 | 187点数解答 | 2024-10-16 14:31:08)373
- C语言:实现混合类型数据格式化输入输出,代码超简单!(字节豆包 | 159点数解答 | 2024-10-16 14:32:18)368