给定一个整数n(键盘输入),将该数字各个位上的数字反转得到一个新的数字。输出的新数最高位不能有0。 输入一个(-10000000,10000000)之间的数,输出反转后的新数。
时间: 2024-06-05 21:06:50 浏览: 85
示例:
输入: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;
}
```
给定一个整数n(键盘输入),将该数子各个位上的数字反转得到一个新的数子。输出的新数最高位不能 有0. 输入一个 (-10000000。 10000000)之 同的数,输出反转后的新数。
思路:先将输入的整数转换成字符串,然后将字符串反转,再将反转后的字符串转换成整数输出。
代码如下:
```python
n = int(input())
if n < 0:
n = -n
print('-', end='')
s = str(n)[::-1]
s = s.lstrip('0')
if s == '':
print(0)
else:
print(int(s))
```
解析:
1. 首先将输入的整数转换成字符串,方便操作。
2. 如果输入的整数为负数,则先输出一个负号,并将整数取绝对值。
3. 将字符串反转,使用字符串的切片操作`[::-1]`,表示从字符串末尾开始,每隔1个字符取一个字符,即相当于将字符串反转。
4. 如果反转后的字符串以0开头,则使用`lstrip()`方法将字符串左侧的0去掉。
5. 最后判断反转后的字符串是否为空,如果为空则输出0,否则将字符串转换成整数并输出。
阅读全文