酷代码 AI
菜单
服务商

题目描述c++ 现有 n 个正整数,乌拉乎希望把这些数进行分类, 按照原本的顺序,先依次输出这些数中所有的奇数,再依次输出所有的偶数。 输入格式 两行,一个正整数 n, 第二行依次为 n 个正整数,数与数之间以一个空格间隔。 输出格式 共两行, 第一行依次输出所有的奇数,数与数之间以一个空格间隔, 第二行依次输出所有的偶数,数与数之间以一个空格间隔。

```cpp #include <iostream> #include <vector> int main() { int n; std::cin >> n; std::vector<int> odd_numbers; std::vector<int> even_numbers; for (int i = 0; i < n; ++i) { int num; std::cin >> num; if (num % 2 == 1) { odd_numbers.push_back(num); } else { even_numbers.push_back(num); } } for (int i = 0; i < odd_numbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << odd_numbers[i]; } std::cout << std::endl; for (int i = 0; i < even_numbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << even_numbers[i]; } std::cout << std::endl; return 0; } ``` 代码解释 1. 输入处理: - 首先读取正整数 `n`,表示接下来要输入的正整数的数量。 - 然后使用 `for` 循环读取 `n` 个正整数,对于每个读取的整数,判断其奇偶性。如果是奇数,将其添加到 `odd_numbers` 向量中;如果是偶数,将其添加到 `even_numbers` 向量中。 2. 输出奇数: - 遍历 `odd_numbers` 向量,依次输出其中的元素,元素之间用空格分隔。 3. 输出偶数: - 遍历 `even_numbers` 向量,依次输出其中的元素,元素之间用空格分隔。 复杂度分析 - 时间复杂度:$O(n)$,其中 $n$ 是输入的正整数的数量。 - 空间复杂度:$O(n)$,主要用于存储奇数和偶数的向量。 [2025-12-06 20:22:36 | AI问答 | 485点数解答]

相关提问
发财导航,免费问AI
实用工具查看更多