This question requires the realization of a simple function to find the inverse ordinal number of an integer.
Function interface definition:
int reverse( int number );
The function reverse
must return number
the reverse number of the integer passed in by the user .
Sample referee test procedure:
#include <stdio.h>
int reverse( int number );
int main()
{
int n;
scanf("%d", &n);
printf("%d\n", reverse(n));
return 0;
}
/* 你的代码将被嵌在这里 */
Input sample:
12340
Sample output:
-4321
answer:
int reverse( int number )
{
int i; //循环变量
int flag = 0; //中介,判断有没有变过号
int sum = 0; //逆序总和
int t; //存放number每一位数
if (number < 0) //如果要逆序的数小于 0 ,变成正数好算一点,然后 flag 赋值为 1 ,表示 变过号,等等需要变回来
{
number = -number;
flag = 1;
}
while (number) //当number不等于 0 时循环
{
t = number % 10; // 模10 取最后一位数
sum = sum * 10 + t; //按公式逆序运算
number /= 10; //整除10 把最后一位除掉
}
if (flag == 1) return -sum; //如果前面变过号 flag 会变成 1 这个时候就需要变回来
else return sum; //没有直接返回给 reverse 就好了
}