| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:求详查解
只看楼主 加入收藏
zof111
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-26
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:10 
求详查解
#include <stdio.h>

#define NUM 5

int r(int n)
{
    int i;
    if (n<=NUM)
        
        return n;
    for (i=1;i<=NUM;i++)
        if (r(n-i)<0)
            return i;
           
    return -1;
}


int main()
{
    int n;
    scanf("%d",&n);
    printf("%d\n",r(n));
    return 0;
}
该程序如何读,请求各位大侠解释,感谢!
搜索更多相关主题的帖子: include 
2011-09-26 15:46
ileelsai
Rank: 5Rank: 5
等 级:职业侠客
帖 子:87
专家分:303
注 册:2011-9-25
收藏
得分:3 
5(包括5)以下正常输出
从6开始判断在其前5个数中值小于0的位序没有返回-1
输入: 1      2    3      4   5    6     7      8    9   10    11   12   13   14
       1       2      3      4    5  没有小于0值
结果:                             -1
               2      3      4   5   -1 右序第一个小于0
                                          1
从1开始的(1 2 3 4 5 -1)循环
2011-09-26 16:14
A13433758072
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:广东潮州
等 级:小飞侠
威 望:1
帖 子:1182
专家分:2784
注 册:2010-7-22
收藏
得分:3 
回复 楼主 zof111
#include <stdio.h>
#define NUM 5   宏代替
int r(int n)函数定义声明(这是个递归函数)
{
    int i;定义变量
    if (n<=NUM)     n小于等于5
        return n;返回值
    for (i=1;i<=NUM;i++)循环
       if (r(n-i)函数调用<0) 函数返回值小于零就执行下面语句(return i;)           return i;》这个括号里就是循环体
    return -1;
}
int main()
{
    int n;定义变量
    scanf("%d",&n);输入
    printf("%d\n",r(n));输出函数返回值
    return 0;
}

一步一个脚印...............................默默地前进.....
诚邀乐于解答c菜鸟问题,的热心网友加入,  QQ群38490319
2011-09-26 16:17
hwf214685147
Rank: 2
等 级:论坛游民
帖 子:70
专家分:94
注 册:2011-9-14
收藏
得分:3 
从main(),然后到printf("%d\n",r(n));调用r(n),从这里开始就复杂了。多加点打印信息跟踪下去就明白了。
2011-09-26 16:19
statics
Rank: 7Rank: 7Rank: 7
等 级:黑侠
帖 子:163
专家分:625
注 册:2011-8-29
收藏
得分:3 
从main()开始,然后r(n)这个里面有个递归调用(即自己调用自己),直到if (n<=NUM)这个条件满足,才回调结束。。。。

惟我独行...
2011-09-26 16:56
zof111
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 5楼 statics
我就是搞不清这个循环的同时递归调用如何走法?请详解。
2011-09-26 18:39
zof111
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 4楼 hwf214685147
我就是搞不清这个循环的同时递归调用如何走法?请详解。
2011-09-26 18:40
pauljames
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:千里冰封
威 望:9
帖 子:1555
专家分:10000
注 册:2011-5-8
收藏
得分:3 
递归调用就是自己调用自己,相当于复制代码断重复执行,但是里面的变量是另外开辟空间的

经常不在线不能及时回复短消息,如有c/单片机/运动控制/数据采集等方面的项目难题可加qq1921826084。
2011-09-28 06:59
zof111
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-26
收藏
得分:0 
回复 8楼 pauljames
循环中的函数递归调用,是先执行循环还是先执行递归调用?请指教!
2011-09-28 10:49
zof111
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2011-9-26
收藏
得分:0 
怎样理解在一个FOR循环内递归调用FOR所在函数本身?
2011-09-28 11:56
快速回复:求详查解
数据加载中...
 
   



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

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