酷代码 AI
菜单
服务商

C++实现不多于5位非负整数的位数、正序及逆序输出

```cpp #include <iostream> int main() { int num; std::cin >> num; int digits[5] = {0}; int digitCount = 0; int temp = num; // 拆分数字并记录每一位 while (temp > 0) { digits[digitCount++] = temp % 10; temp /= 10; } if (digitCount == 0) { digitCount = 1; } // 输出位数 std::cout << digitCount << std::endl; // 正序输出每一位数字 for (int i = digitCount - 1; i >= 0; --i) { if (i < digitCount - 1) { std::cout << " "; } std::cout << digits[i]; } std::cout << std::endl; // 逆序输出各位数字 for (int i = 0; i < digitCount; ++i) { std::cout << digits[i]; } std::cout << std::endl; return 0; } ``` ### 代码解释 - **输入部分**:使用`std::cin`读取一个整数`num`。 - **拆分数字**:利用`while`循环,通过取模运算`temp % 10`得到数字的每一位,并将其存储在数组`digits`中,同时使用`digitCount`记录数字的位数。当`temp`变为 0 时,循环结束。如果输入为 0,将`digitCount`设为 1。 - **输出位数**:直接输出`digitCount`。 - **正序输出每一位数字**:从数组的最后一个有效元素开始,按顺序输出每一位数字,数字之间用空格分隔。 - **逆序输出各位数字**:从数组的第一个有效元素开始,按顺序输出每一位数字。 ######[AI问答 | 479点数解答 | 2026-04-12 13:42:28]

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