递归

人盡茶涼 提交于 2019-12-17 04:13:29
#include<stdio.h>
int jisuan(int n);
int main()
{
    int n;
    scanf("%d",&n);
    printf("n=%d,age=%d",n,jisuan(n));
}
int jisuan(int n)
{
    if(n==1)
    {
        return 10;
    }
    else 
    return jisuan(n-1)+2;
}
//递归函数的函数调用,首先一

定要有基线情况,返回值的类型处理和之前的相类似;
//递归就是在函数内部调用本身函数的过程,最后返回一个结果
//基线情况就是问题元素允许出现的最简单的可能值
//通常情况为if(…)
//{
// return a(a就是最简单情况的答案)
//}
//确定基线情况后再来编写数据较多,元素较多的计算方法,此时调用函数本身
//并且计算的方法为先算题目要求的最后一个,如阶乘:fact(n-1)*n;
//如此题:jisuan(n-1)+2;
//因为调用是从最后一个数据往前逐个调用,直到遇到基线情况,然后逐步返回到上一步,一层一层的返回
//直到最终返回到第n种情况后从函数返回到主函数

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!