【发布时间】:2019-06-25 01:49:20
【问题描述】:
“编写一个递归函数,获取一个整数作为输入(不以0开头)并以相反的顺序返回整数。
例如:58347 返回为 74385
指针、数组、内存分配是不允许的”
int reverse(int num);
我们必须知道整数的“长度”,可以不用全局变量吗?
也许是一些按位运算?
我的尝试:
int reverse(int num){
int temp;
if(num/10 == 0)
return num;
else
return num%10*10+reverse(num=/10)
}
【问题讨论】:
-
不需要长度。您所需要的只是简单的十进制整数算术(更具体地说,使用
10进行除法和取模)。 -
十进制表示,我们得到 1234 并返回 4321
-
为什么不试一试,贴一些代码,我们会帮你解决你发现的任何问题。