题目
1089:数字反转
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 12285 通过数: 6308
【题目描述】
给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,
否则反转后得到的新数的最高位数字不应为零,例如输入-380,反转后得到的新数为-83。
【输入】
输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。
【输出】
输出共 1 行,一个整数,表示反转后的新数。
【输入样例】
123
【输出样例】
321
【提示】
【输入/输出样例 2】
输入:
-380
输出:
-83
【来源】
NO
代码
#include <stdio.h>
#include <string.h>
int main ()
{
char a[10];
int b[10],lena
;
scanf("%s",a);
lena=strlen(a);
if(strchr(a,'-'))
{
printf("-");
a[0]='0';
for(int i=0;i<lena;i++)
{
a[i]=a[i+1];
}
lena--;
}
for(int i=0;i<lena;i++)
{
b[i]=a[i]-48;
}
for(int i=lena-1;i>=0;i--)
{
printf("%d",b[i]);
}
return 0;
}