本题要求实现一个求整数的逆序数的简单函数。
函数接口定义:
int reverse( int number );
其中函数reverse
须返回用户传入的整型number
的逆序数。
裁判测试程序样例:
#include <stdio.h>
int reverse( int number );
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", reverse(n));
return 0;
}
/* 你的代码将被嵌在这里 */
输入样例:
-12340
输出样例:
-4321
想法:光看例子搞不懂为什么省略了0,用数组储存各位数后再逆序输出。
int reverse(int number)
{
int t=0;
int n=number;
while(n)
{
t=t*10+n%10;//取最后一位数先算,这样一来下一次算的时候t会先*10,使得原本最后一位的数变成了第一位
n=n/10;
}
return t;
}
提炼:这里没有用到数组,学会了逆序输出数字的方法,先去原数最后一位加到T=0中去,t=t*10+现在取的最后一位数,这样的效果是取的最后一位数成了另一个数的第一位,以此类推下去,新的数会成为原数的逆序数。