题目描述
给定一个整数 N,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。
输入格式
一个整数 N。
输出格式
一个整数,表示反转后的新数。
输入输出样例
输入 #1复制
123
输出 #1复制
321
输入 #2复制
-380
输出 #2复制
-83
说明/提示
【数据范围】
−1,000,000,000≤N≤1,000,000,000。
noip2011 普及组第一题
题解
#include<bits/stdc++.h>
using namespace std;
int main(){
int N,x,sum=0;
cin>>N;
for(int n=N;n!=0;){
x=abs(n%10);
n/=10;
sum=sum*10+x;//类栈思想,先进的数×10的次数最多,运算结束后为最高位
}
if(N<0)
cout<<-sum<<endl;
else
cout<<sum<<endl;
return 0;
}