酷代码 AI
菜单
服务商

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

Python 实现 ```python # 读取正整数 n n = int(input()) # 读取 n 个正整数并存储为列表 numbers = list(map(int, input().split())) # 初始化奇数列表和偶数列表 odd_numbers = [] even_numbers = [] # 遍历每个数,根据奇偶性添加到相应列表 for num in numbers: if num % 2 == 1: odd_numbers.append(num) else: even_numbers.append(num) # 输出奇数列表,元素间用空格分隔 print(" ".join(map(str, odd_numbers))) # 输出偶数列表,元素间用空格分隔 print(" ".join(map(str, even_numbers))) ``` C++ 实现 ```cpp #include <iostream> #include <vector> using namespace std; int main() { int n; // 读取正整数 n cin >> n; vector<int> odd_numbers; vector<int> even_numbers; for (int i = 0; i < n; ++i) { int num; // 读取每个正整数 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) { cout << " "; } cout << odd_numbers[i]; } cout << endl; // 输出偶数 for (int i = 0; i < even_numbers.size(); ++i) { if (i > 0) { cout << " "; } cout << even_numbers[i]; } cout << endl; return 0; } ``` 代码解释 Python 代码 1. 读取输入:先读取正整数 `n`,再读取 `n` 个正整数并存储在列表 `numbers` 中。 2. 分类处理:遍历 `numbers` 列表,将奇数添加到 `odd_numbers` 列表,偶数添加到 `even_numbers` 列表。 3. 输出结果:使用 `join` 方法将列表元素转换为字符串并以空格分隔,依次输出奇数和偶数。 C++ 代码 1. 读取输入:读取正整数 `n`,然后在循环中依次读取 `n` 个正整数。 2. 分类处理:使用 `vector` 存储奇数和偶数,根据数的奇偶性将其添加到相应的 `vector` 中。 3. 输出结果:分别遍历奇数和偶数的 `vector`,按要求输出,元素间用空格分隔。 [2026-01-12 11:08:02 | AI问答 | 672点数解答]

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