| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 599 人关注过本帖
标题:递归函数初步了解!以及案例!
只看楼主 加入收藏
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
结帖率:57.14%
收藏
 问题点数:0 回复次数:10 
递归函数初步了解!以及案例!
c语言的函数调用是允许直接或者间接调用该函数的本身的,存在调用函数本身的函数就称为:递归函数。
用途方面:一般递归函数用于解决具有递归性质的问题,简单举个例子An=f(A(n-1)),如果第n项可以用第n-1项或者更前的项来表示,就证明可以用递归函数这个方面来实现。例如:求1+2+3+.....+n的和,因为An=A(n-1)+1;
而且要主要使用递归函数时候,必须要设置一定条件结束递归调用,否则会导致无限递归,而无法结束!

最简单的例子:求n!

//递归求N!
#include <stdio.h>
int main()
{
    long fac(int n);
    int m;
    printf("请输入一个整数!\n");
    scanf("%d",&m);
    printf("%2d!=%d\n",m,fac(m));
    return 0;
}

long fac(int n)
{
    if(n==1)
        return 1L;
    else
        return n*fac(n-1);
}
搜索更多相关主题的帖子: c语言 include 
2013-01-02 03:11
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
收藏
得分:0 
菜鸟飘过!

不要管我是谁,我也不管你是谁!
just kiss myass!
2013-01-02 03:19
朱三哥
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:311
专家分:359
注 册:2012-12-11
收藏
得分:0 
进一步的深入了解下,这个自我调用是怎么实现的
楼主 知道吗?

哥,破你无线很难的,不要老是改,少看路由器上的灯,你会死啊
2013-01-02 06:49
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
收藏
得分:0 
例如输入n=5

5!      执行第一步:5*fac(4),调用了fac(4);
            第二步:fac(4)=4*fac(3);
            第三步:fac(3)=3*fac(2);
            第四步:fac(2)=2*fac(1);
            第五步:if条件成立,返回数值1;
            第六步:fac(2)=2*1=2;
            第七步:fac(3)=3*2=6;
            第八步:fac(4)=4*6=24;
            最后一步:fac(5)=5*24=120;
            最终结果:120
愚解!见笑!

不要管我是谁,我也不管你是谁!
just kiss myass!
2013-01-02 07:22
尹金魁2031
Rank: 3Rank: 3
来 自:河南省南阳市
等 级:论坛游侠
帖 子:156
专家分:162
注 册:2012-12-29
收藏
得分:0 
狮王,我挺你1
2013-01-02 09:56
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
收藏
得分:0 
多谢呵呵

不要管我是谁,我也不管你是谁!
just kiss myass!
2013-01-02 11:15
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
调用树呢  楼主画出来

                                         
===========深入<----------------->浅出============
2013-01-02 11:36
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
收藏
得分:0 
貌似我怎么上传不了附件的呢?

不要管我是谁,我也不管你是谁!
just kiss myass!
2013-01-02 12:20
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
原来楼主的头像是狮子 我还以为是B超呢。。。。。。。。。。。。。。。。。。。。
2013-01-02 12:21
古丁高手
Rank: 1
来 自:地狱
等 级:新手上路
帖 子:56
专家分:8
注 册:2012-8-8
收藏
得分:0 
呵呵不好意思,照的那时候没彩色只有黑白相机!

不要管我是谁,我也不管你是谁!
just kiss myass!
2013-01-02 12:24
快速回复:递归函数初步了解!以及案例!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016413 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved