酷代码 AI
菜单
服务商
DeepSeek字节豆包讯飞星火
更多选项

C++实现奇数偶数分离排序输出

以下是一个简洁的 C++ 代码实现,用于将输入的 `n` 个正整数中的奇数和偶数分别按照从小到大的顺序输出,奇数和偶数各占一行: ```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::sort(even.begin(), even.end()); for(int num : odd) { std::cout << num << " "; } std::cout << std::endl; for(int num : even) { std::cout << num << " "; } std::cout << std::endl; return 0; } ``` ### 代码解释: 1. **输入处理**: - 首先读取一个整数 `n`,表示接下来要输入的正整数的数量。 - 使用 `for` 循环读取 `n` 个正整数,根据每个数的奇偶性将其分别存入 `odd` 向量(奇数)或 `even` 向量(偶数)中。 2. **排序**: - 使用 `std::sort` 函数对 `odd` 向量和 `even` 向量分别进行排序,使其元素按从小到大的顺序排列。 3. **输出结果**: - 使用增强的 `for` 循环遍历 `odd` 向量,输出其中的奇数,每个数之间用空格分隔,最后换行。 - 同样地,使用增强的 `for` 循环遍历 `even` 向量,输出其中的偶数,每个数之间用空格分隔,最后换行。 ### 开发建议: 1. **边界检查**:可以在读取 `n` 时添加边界检查,确保 `n` 的值在有效范围内(`n <= 100`)。 2. **错误处理**:在读取输入时,可以考虑添加错误处理机制,例如检查输入是否为有效的整数,避免程序因输入错误而崩溃。 3. **代码复用**:如果需要处理更多的数字序列,可以将处理逻辑封装成函数,提高代码的复用性。 ######[AI写代码神器 | 586点数解答 | 2026-05-09 19:27:13]

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