任务描述
本关任务:编写递归函数,通过递归调用,将一整数逆序输出。
如何用递归思想解决问题?首先要学会对问题的分解 递归思想的核心,实际上一种问题简化的方式。当遇到复杂问题时,分解出稍简单的类似问题,不纠缠于这类问题本身的求解,而是聚焦于能否在这个稍简单类似问题的基础上,通过简单计算解决复杂问题,这就是如何获得递推公式的过程,也是用递归思想解决问题的过程。
对于本关任务,不妨问自己几个问题,不好描述可以举例:
当前问题是什么?——整数12345,逆序输出
比当前问题稍简单的类似问题是什么?——整数1234逆序输出
在解决了这个稍简单的类似问题的基础(即能够输出4321),可以解决原问题吗——先输出5,再完成类似问题
知道最简单的情况的结果吗(终止条件)——1位数的逆序输出,就是输出自身
编程要求
根据提示,在右侧编辑器补充代码,编写递归函数,通过递归调用,将一整数逆序输出。
注意,本题仅要求该函数能够逆序输出所有数字,并未要求返回逆序数。
测试说明
平台会对你编写的代码进行测试:
测试输入:1234
预期输出:4321
测试输入:123400
预期输出:004321
开始你的任务吧,祝你成功!
#include <stdio.h>
#include <string.h>
int reverse(int n){
int m;
if (n==0){
return 0;
}
m=n%10;
n=n/10;
printf("%d",m);
reverse(n);
}
int main()
{
int n;
scanf("%d",&n);
int m=reverse(n);
}