题目描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式
一个整数 NN
输出格式
一个整数,表示反转后的新数。
输入输出样例
输入
123
输出
321
输入
-380
输出
-83
思路:拆数法的应用,注意几个特殊情况,第一个是为0,第二个是末尾有0(可能多个所以要while循环),第三个是负数
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
if (n == 0) {
cout << 0;
}
while (n % 10 == 0) {
n = n / 10;
}
if (n < 0) {
n = -n;
cout << "-";
}
while (1) {
if (n == 0) {
break;
}
cout << n % 10;
n = n / 10;
}
}