题目:
题目描述
查看题目信息
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入格式
输入共1行,一个整数N。
输出格式
输出共1行,一个整数,表示反转后的新数。
样例输入
123
样例输出
321
样例输入
-380
样例输出
-83
【数据范围】-1,000,000,000 ≤ N ≤ 1,000,000,000。
方法
先考虑正负,然后考虑0,最后反转。
代码如下↓
#include <bits/stdc++.h>
using namespace std;
int main()
{
int s=0;
int n,p;
cin>>n;
int i=0;
if(n<0)
{
cout<<"-";
n=n-n-n;
while(1)
{
if(n%10!=0)
{
break;
}
n=n/10;
}
}
while(n!=0)
{
p=n%10;
s=(s+p)*10;
n=n/10;
}
cout<<s/10;
return 0;
}