给定一个整数n(键盘输入),将该数子各个位上的数字反转得到一个新的数子。输出的新数最高位不能 有0. 输入一个 (-10000000。 10000000)之 同的数,输出反转后的新数。
时间: 2024-05-22 15:13:09 浏览: 40
示例输入:
12345
示例输出:
54321
示例输入:
-9876
示例输出:
-6789
解题思路:
题目要求将输入的整数各个位上的数字反转,可以先将整数转换为字符串,再将字符串反转,最后将结果转换为整数。
需要注意的是,输出的新数最高位不能有0,因此需要去除反转后的结果中的前导0。如果输入的数是负数,需要在反转后的结果前面加上负号。
Python代码:
相关问题
给定一个整数n(键盘输入),将该数字各个位上的数字反转得到一个新的数字。输出的新数最高位不能有0。 输入一个(-10000000,10000000)之间的数,输出反转后的新数。
示例:
输入:12345
输出:54321
输入:-9876
输出:-6789
思路:可以先将输入的数转化成字符串,然后用字符串反转的方法得到新的字符串,再将新的字符串转化成整数即可。需要注意的是,如果输入的数是负数,需要将负号和数字分开处理。最后还需判断输出的新数最高位是否为0。
代码如下:
用vs软件,给定一个整数n(键盘输入),将该数字各个位上的数字反转得到一个新的数字。输出的新数最高位不能 有0。 输入一个(-10000000,10000000)之间的数,输出反转后的新数。
```
#include <iostream>
#include <string>
using namespace std;
int reverse(int n) {
string s = to_string(n);
if (s[0] == '-') {
reverse(s.begin() + 1, s.end());
} else {
reverse(s.begin(), s.end());
}
return stoi(s);
}
int main() {
int n;
cin >> n;
cout << reverse(n) << endl;
return 0;
}
```
阅读全文