关于逆序数的结果有两种情况,就是输入700输出007 or 7,这两种情况的解题思路也不同。第一种就直接简单粗暴模10,number除10取整一个一个输出就完事了,第二种情况我的方法就是先计算number有几位,比如有n位,然后再模10乘以10的n - 1 次方,累加在sum上。位数递减直至为0结束循环。
至于负数就开头和结尾处理一下就完事了。`在这里插入代码片
int reverse( int number ){
int sum = 0, cnt = 0, temp;
if ( number == 0) return 0;
else if ( number < 0) {
temp = -number;
} else temp = number;
while(temp){
cnt++;
temp /=10;
}
if (number > 0) temp = number;
else if (number < 0) temp = -number;
while(cnt){
sum += temp%10 *pow(10, cnt - 1);
temp /= 10;
cnt--;
}
if ( number < 0) return -sum;
return sum;
}