P1756数字反转
背景
noip2011 NO.1
描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
格式
输入格式
输入共1 行,一个整数N。
输出格式
输出共1 行,一个整数,表示反转后的新数。
限制
1s
提示
【数据范围】
-1,000,000,000 ≤ N ≤ 1,000,000,000 。
来源
noip 2011
水水更健康......
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
char str[21];
int flag=0;
scanf("%s",str);
if(str[0]=='-')
{
cout<<'-';
for(int i=strlen(str)-1;i>0;i--)
{
if(str[i]!='0')
{
flag=i;
break;
}
}
for(int i=flag;i>0;i--)
{
cout<<str[i];
}
}
else
{
for(int i=strlen(str)-1;i>=0;i--)
{
if(str[i]!='0')
{
flag=i;
break;
}
}
for(int i=flag;i>=0;i--)
{
cout<<str[i];
}
}
cout<<endl;
return 0;
}