题目描述 Description
给定一个整数,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
标签:
【样例输入1】
123
【样例输入2】
-380
输出样例:
【样例输出1】
321
【样例输出2】
-83
思路:判断是否是负数,如果是负数,输出一个“-”号,再变为正数进行计算
计算过程:用一个数s来计算需要反转的数的从后往前的每一位,每次除以10求余,就得了。
代码如下:
#include<stdio.h> int main() { int x,s=0; scanf("%d",&x); if(x<0)//判断是否负数 { printf("-");//是,输出一个负号 x=x*(-1);//变为正数 } while(x>0)//循环到这个数小于等于0为止 { s=s*10+x%10;//计算每一位 x=x/10;//每次要除以10 } printf("%d",s);//输出即可 return 0; }
标签:
原文地址:http://www.cnblogs.com/geek-007/p/4296928.html