问题:在openjudge上运行错误,但是看不出代码哪里有问题?在Devc++上也能运行
描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
输入
输入共 1 行,一个整数N。
-1,000,000,000 ≤ N≤ 1,000,000,000。
输出
输出共 1 行,一个整数,表示反转后的新数。
样例输入
样例 #1:
123
样例 #2:
-380
样例输出
样例 #1:
321
样例 #2:
-83
#include<stdio.h>
#include<math.h>
int main()
{
long n;
scanf("%ld",&n);
if(n==0)
{printf("%d",n);}
else
{
if(n%10==0)
{n/=10;}
while(n)
{
printf("%d",n%10);
n/=10;
if(n<0)
{
n=-n;
}
}
}
return 0;
}