给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见实例 2)。
输入共 1 行,一个整数 −109≤N≤109。
输出共 1 行,一个整数,表示反转后的新数。
123
321
-380
-83
#include
using namespace std;
int main()
{
string a;
cin>>a;
int flag=0;
if(a[0]=='-')
{
a.erase(a.begin());//删除‘-’号
flag=1;//标记
}
reverse(a.begin(),a.end());//反转字符串
while(a[0]=='0')
a.erase(a.begin());//删除反转后首位的0
if(flag==1)
a='-'+a;//还原‘-’号
cout<<a;
return 0;
}
#include
#define ll long long int
int main()
{
ll a=0;
scanf("%lld",&a);
ll b=0;
while(a!=0)
{
b=b*10+a%10;//取出每一位(从个位开始取),再乘10,当然,取出个位时,不用乘10,所以b初始等于0
a/=10;
}
printf("%lld",b);
return 0;
}