求整数几位数并逆序打印出各位数字 输入一个不多于5位的正整数,输出要求:一、求它是几位数,二、逆序打印出各位数字。
时间: 2024-11-27 19:21:49 浏览: 23
要实现这个功能,你可以使用C++编写一个简单的程序。下面是一个示例函数,名为`reversePrintNumber`,接受一个整数作为输入,然后返回该整数的位数以及逆序排列的各位数字:
```cpp
#include <iostream>
#include <string>
// Function to count the number of digits and reverse print the digits
void reversePrintNumber(int num) {
int digitCount = 0;
std::string reversedDigits;
while (num > 0) {
digitCount++;
reversedDigits = std::to_string(num % 10) + reversedDigits;
num /= 10;
}
std::cout << "数字共有 " << digitCount << " 位。\n";
std::cout << "逆序打印的各位数字是: " << reversedDigits << "\n";
}
int main() {
int inputNum;
std::cout << "请输入一个不超过5位的正整数: ";
std::cin >> inputNum;
// 检查输入是否合法
if (inputNum <= 0 || inputNum >= pow(10, 5)) {
std::cerr << "输入错误! 数字必须是1到99999之间的正整数。\n";
return 1;
}
reversePrintNumber(inputNum);
return 0;
}
```
在这个程序中,我们首先遍历输入的整数,每次获取最右边的一位数字,将其添加到字符串`reversedDigits`的前面,直到数字变为0。然后输出位数和逆序的数字。
阅读全文