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

输入正整数分类输出:奇数偶数排序显示代码实现

你提供的代码已经实现了输入`n`和`n`个正整数,将其中的奇数和偶数分别按照从小到大的顺序输出,奇数偶数各一行的功能。不过可以对代码进行一些优化,让其更加简洁易读。以下是优化后的代码: ```cpp #include <iostream> #include <vector> #include <algorithm> int main() { int n; std::cin >> n; std::vector<int> odd, even; // 分别存储奇数和偶数 // 读取 n 个正整数并分类 for (int i = 0; i < n; ++i) { int num; std::cin >> num; (num % 2 ? odd : even).push_back(num); } // 对奇数和偶数数组排序 std::sort(odd.begin(), odd.end()); std::sort(even.begin(), even.end()); // 输出奇数 for (size_t i = 0; i < odd.size(); ++i) { if (i) std::cout << " "; std::cout << odd[i]; } std::cout << std::endl; // 输出偶数 for (size_t i = 0; i < even.size(); ++i) { if (i) std::cout << " "; std::cout << even[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释 1. **输入读取**:首先读取正整数`n`,表示接下来要输入的正整数的个数。然后使用`for`循环读取`n`个正整数,并根据其奇偶性将其添加到`odd`或`even`向量中。 2. **排序**:使用`std::sort`函数对`odd`和`even`向量进行排序。 3. **输出**:分别遍历`odd`和`even`向量,输出排序后的奇数和偶数,每个数之间用空格分隔。 ######[AI问答 | 481点数解答 | 2026-06-13 19:58:11]

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