酷代码 AI
菜单
服务商

C++实现正整数奇偶分类输出

### 🌟思路分析 我们可以通过遍历输入的正整数,根据每个数是否为奇数将其分别存储到两个不同的数组中,最后依次输出存储奇数和偶数的数组。 ### 💻代码实现 ```cpp #include <iostream> #include <vector> int main() { int n; std::cin >> n; std::vector<int> oddNumbers; // 存储奇数 std::vector<int> evenNumbers; // 存储偶数 for (int i = 0; i < n; ++i) { int num; std::cin >> num; if (num % 2 == 1) { oddNumbers.push_back(num); } else { evenNumbers.push_back(num); } } // 输出奇数 for (int i = 0; i < oddNumbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << oddNumbers[i]; } std::cout << std::endl; // 输出偶数 for (int i = 0; i < evenNumbers.size(); ++i) { if (i > 0) { std::cout << " "; } std::cout << evenNumbers[i]; } std::cout << std::endl; return 0; } ``` ### 📝代码解释 1. **输入处理**:首先读取正整数 `n`,表示有 `n` 个正整数需要处理。然后使用 `for` 循环读取这 `n` 个正整数。 2. **分类存储**:对于每个读取的正整数,使用取模运算符 `%` 判断其是否为奇数。如果是奇数,则将其添加到 `oddNumbers` 向量中;如果是偶数,则将其添加到 `evenNumbers` 向量中。 3. **输出结果**:分别遍历 `oddNumbers` 和 `evenNumbers` 向量,将其中的元素依次输出,元素之间用空格分隔,最后换行。 ### ⚙️复杂度分析 - **时间复杂度**:$O(n)$,其中 $n$ 是输入的正整数的个数。因为只需要遍历一次输入的正整数。 - **空间复杂度**:$O(n)$,主要用于存储奇数和偶数的向量。 ### 🚀开发建议 - **错误处理**:在实际应用中,可以添加对输入的合法性检查,例如确保输入的 `n` 是正整数,以及输入的数都是正整数。 - **代码复用**:可以将分类和输出的逻辑封装成函数,提高代码的复用性。 ######[AI写代码神器 | 627点数解答 | 2026-03-13 21:44:20]

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