百练1089:数字反转

题目

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;
}
posted @ 2019-02-12 00:08  AlexKing007  阅读(79)  评论(0编辑  收藏  举报