c++给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字
时间: 2024-10-09 17:10:28 浏览: 37
求给定正整数的位数和并逆序打印各位数
在 C++ 中,你可以通过以下步骤来实现这个功能:
1. **判断位数**:
使用 `std::string` 类型将输入的整数转换成字符串,因为字符串的长度即为位数。然后可以获取字符串的长度来确定整数的位数。
```cpp
int num;
cin >> num; // 输入正整数
std::string str = std::to_string(num);
int digits = str.length();
```
2. **逆序打印各位数字**:
遍历字符串并逐个取出字符(每个字符代表一位数字),从后向前打印即可。
```cpp
for (int i = digits - 1; i >= 0; i--) {
std::cout << str[i];
}
```
完整代码示例:
```cpp
#include <iostream>
#include <string>
int main() {
int num;
cin >> num;
std::string str = std::to_string(num);
int digits = str.length();
std::cout << "它有 " << digits << " 位。\n";
for (int i = digits - 1; i >= 0; i--) {
std::cout << str[i];
}
std::cout << "\n逆序后的数字是:";
return 0;
}
```
阅读全文