D - 数字反转
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 22)。
输入格式
输入共 11 行,一个整数 NN。
输出格式
输出共 1 行,一个整数,表示反转后的新数。
数据范围
-1,000,000,000 \le N \le 1,000,000,000−1,000,000,000≤N≤1,000,000,000。
Sample Input
123
Sample Output
321
Sample Input 2
-380
Sample Output 2
-83
#include<stdio.h>
int main()
{
long int a,b=0,c;
while(scanf("%ld",&a)!=EOF)
{
c=a;
if(a<0)
a=-a;//先将负数转为正数
while(a)
{
b=b*10+a%10;//逆序输出的关键
a/=10;
}
if(c>=0)//在这里做一个判断,判断输出的是整数还是负数
printf("%ld\n",b);
else
printf("%ld\n",-b);
b=0;
}
return 0;
}