题目描述
给定一个整数
N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
样例
123 321
-830 -38
思维就是数字反转,如何将两个数反转, 一开始想的是反转遍历, 直接将他转化为正数进行数字反转
C++ 代码
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
if (n < 0)
{
cout << "-" ; // 负数直接输出就行了, 然后将他转化为正数
n = -n;
}
if (n % 10 == 0) n /= 10; // 去掉末尾0
int sum = 0;
while (n != 0)
{
int k = n % 10;
sum = sum * 10 + k;
n /= 10;
}
cout << sum << endl;
}