本题要求实现一个求整数的逆序数的简单函数。
函数接口定义:
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
参考答案:
//其中函数reverse须返回用户传入的整型number的逆序数
int reverse( int number )
{
int a[50];
int i = 0, sum = 0, flag = 1, j;
if(number < 0)
{
flag = -1;
number = -number;
}
while(number)
{
a[i] = number % 10;
number /= 10;
i++;
}
j = i;//位数
while(i)
{
sum += pow(10, j - i) * a[i - 1];//注意数组的下标与数字位数的关系
i--;
}
sum = flag * sum;
return sum;
}