您的位置:首页 > 编程语言 > C语言/C++

反转一个整数

2017-11-08 11:28 218 查看
试题描述
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。

输入格式

数据有多组,对于每一组数据
输入共 1 行,一个整数N。-1,000,000,000 ≤ N≤ 1,000,000,000。
输出格式
输出共 1 行,一个整数,表示反转后的新数。
样例输入
样例 #1:
123

样例 #2:
-380

样例输出
样例 #1:
321

样例 #2:
-83

#include <stdio.h>
int main()
{
int x,y,i,n,a[20],s;
while(scanf("%d",&x)!=EOF)
{
s=0;
y=1;
for(i=0;;i++)
{
a[i]=x%(y*10)/y;
n=i+1;
if(x/(y*10)==0)
break;
y*=10;
}
for(i=0;i<n;i++)
{
s+=a[i]*y;
y/=10;
}
printf("%d\n",s);
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息