用C++输入一个不多于3位的正整数,求其逆序后的数。如:341,逆序后为:143
时间: 2024-11-09 13:29:41 浏览: 15
在C++中,你可以通过以下几个步骤来实现输入一个三位以内的正整数并计算它的逆序:
1. 首先,创建一个函数接受用户输入的整数,并将其转换为字符串以便操作每一位数字。可以使用`std::string`类型的变量来存储。
```cpp
#include <iostream>
#include <string>
std::string reverseInteger(int num) {
std::stringstream ss;
ss << num; // 将整数转换为字符串
return ss.str();
}
```
2. 然后,创建另一个函数来处理字符串形式的逆序。从字符串末尾开始取出字符,直到开头,每次取出一个字符并添加到新的字符串中。
```cpp
int reverseNumber(const std::string &str) {
int result = 0;
for (int i = str.length() - 1; i >= 0; --i) {
result = result * 10 + str[i] - '0'; // 减去'0'是为了将字符转为整数值
}
return result;
}
```
3. 主程序中,获取用户输入,然后分别调用这两个函数完成逆序过程。
```cpp
int main() {
int num;
std::cout << "请输入一个不超过3位的正整数: ";
std::cin >> num;
if (num > 999 || num < 0) {
std::cerr << "输入错误,只能输入一位数到三位数的正整数!" << std::endl;
return 1;
}
std::string reversedStr = reverseInteger(num);
int reversedNum = reverseNumber(reversedStr);
std::cout << "逆序后的数为: " << reversedNum << std::endl;
return 0;
}
```
阅读全文