[NOIP2011 普及组] 数字反转
题目描述
给定一个整数 N N N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
输入格式
一个整数 N N N。
输出格式
一个整数,表示反转后的新数。
样例 #1
样例输入 #1
123
样例输出 #1
321
样例 #2
样例输入 #2
-380
样例输出 #2
-83
提示
【数据范围】
$-1,000,000,000\leq N\leq 1,000,000,000 $。
题解
#include<iostream>
using namespace std;
int main(){
int a;
cin>>a;
if(a==0){
cout<<"0";
}
if (a>0){
if(a%10==0){
while(a%10==0){
a/=10;
}
//while(a>0){
// cout<<a%10;
// a/=10;
// }
}
while(a>0){
cout<<a%10;
a/=10;
}
}else if(a<0){
cout<<"-";
a=-a;
if(a%10==0){
while(a%10==0){
a/=10;
}
}
while(a>0){
cout<<a%10;
a/=10;
}
}
}