题目
给定一个整数 𝑁N,将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零
如输入123,应当输出321;输入210,应当输出12。
之前一直是用数组做的,今天看到一个更好的方法,分享给大家。
代码如下
#include<stdio.h>
int main()
{
int n,m=0;
scanf("%d",&n);
while(n!=0)
{
m=m*10+n%10;
n/=10;
}
printf("%d\n",m);
return 0;
}
分析
m=m*10+n%10,一个式子巧妙地解决了值反转的问题。将n取余下来的数给m,再给n除于10,重复如此步骤,直到n不等于0。
真的是巧妙,之前的我还是一直用数组做的,异常麻烦。还得再接再厉,继续努力啊。