酷代码 AI
菜单
服务商

C++实现正整数奇偶分类输出并颠倒后两位的入门级代码

### 📝需求理解 需要使用 C++ 语言实现一个程序,该程序要对输入的正整数进行奇偶分类输出,并且要将每个正整数的后两位数字颠倒。 ### 💻代码实现 ```cpp #include <iostream> #include <vector> // 颠倒数字的后两位 int reverseLastTwoDigits(int num) { int lastTwo = num % 100; int reversedLastTwo = (lastTwo % 10) * 10 + (lastTwo / 10); return (num / 100) * 100 + reversedLastTwo; } int main() { std::vector<int> oddNumbers; std::vector<int> evenNumbers; int num; std::cout << "请输入正整数(输入非正整数结束输入):" << std::endl; while (std::cin >> num && num > 0) { if (num % 2 == 0) { evenNumbers.push_back(reverseLastTwoDigits(num)); } else { oddNumbers.push_back(reverseLastTwoDigits(num)); } } std::cout << "奇数:"; for (int odd : oddNumbers) { std::cout << odd << " "; } std::cout << std::endl; std::cout << "偶数:"; for (int even : evenNumbers) { std::cout << even << " "; } std::cout << std::endl; return 0; } ``` ### 🧐代码解释 1. **`reverseLastTwoDigits` 函数**:该函数用于颠倒一个整数的后两位。首先通过取模运算 `num % 100` 得到后两位数字,然后将其个位和十位交换位置,最后将前面的部分与颠倒后的后两位组合起来。 2. **`main` 函数**: - 定义两个 `std::vector` 分别存储奇数和偶数。 - 通过 `while` 循环不断读取用户输入的正整数,直到输入非正整数为止。 - 根据输入的数的奇偶性,将其颠倒后两位的结果分别存入奇数向量或偶数向量。 - 最后分别输出奇数和偶数。 ### ⚙️编译运行 将上述代码保存为 `.cpp` 文件,例如 `odd_even_classification.cpp`,然后使用以下命令编译: ```sh g++ odd_even_classification.cpp -o odd_even_classification ``` 运行编译后的可执行文件: ```sh ./odd_even_classification ``` ### 💡开发建议 - **输入验证**:当前代码仅通过判断输入是否为正整数来结束输入,可进一步添加对输入是否为有效整数的验证,避免输入非数字字符导致程序异常。 - **代码复用**:将奇偶分类和颠倒后两位的逻辑封装成更通用的函数,方便在其他程序中复用。 - **性能优化**:对于大规模数据输入,可考虑使用更高效的数据结构和算法来提高程序性能。 ######[AI写代码神器 | 731点数解答 | 2026-03-15 01:51:15]

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