| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1227 人关注过本帖
标题:请教一道递归调用函数的问题!
只看楼主 加入收藏
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
 问题点数:0 回复次数:16 
请教一道递归调用函数的问题!
请问这道题中的加出加粗部分是什么意思,我看不懂它在说些什么,请高手指教一下。
观察“运动的”递归过程是非常有趣的。修改阶乘函数,[bo]以显示它的局部变量和递归调用参数。对于每次递归调用,在一个独立的行中显示输出结果,并添加1个级别的缩进。[/bo]尽最大的努力使输出 结果清楚、有趣和有意义。
什么是在一个独立的行中显示输出结果,还有什么是1个级别的缩进?
# include <stdio.h>
long factorial(long number);
  int main(){
      int i;
   for (i=0;i<=10;i++){
    printf( "%2d!=%ld\n",i,factorial(i));
    }
  return 0;
   }
 long factorial(long number)
 {
    if (number<=1){
    return 1;
    }
   else {
    return (number*factorial(number-1));
    }
   
 }

[[it] 本帖最后由 cnlkf 于 2008-5-19 18:59 编辑 [/it]]
搜索更多相关主题的帖子: 递归 函数 
2008-05-19 18:57
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
12


QQ截图未命名.jpg (28.82 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-05-19 20:23
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
LS可以把你的程序让我看一下吗?还是有一些看不懂。
2008-05-19 20:29
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
呵呵
#include<stdio.h>
long factorial1(long number1);
long factorial2(long number2);
int main()
{
    int i;
    for (i=0;i<=10;i++){
        printf("%2d!=%ld\n",i,factorial2(i));
        factorial1(i);
        printf("1\n");
    }
    return 0;
}
long factorial1(long number1)
{
    static int j=0;
    int k;
    long a;
    if (number1<=1){
        return 1;
    }
    else{
        printf("%2d*%2d!  <------------  %d!=%ld\n",number1,number1-1,number1-1,factorial2(number1-1));
        k=j++;
        for (k=0;k<j;k++){
            printf("   ");
        }
    factorial1(number1-1);
    j=0;
    }
}
long factorial2(long number2)
{
    if(number2<=1){
        return 1;
    }
    else{
        return (number2 * factorial2(number2-1));
    }
}

[[it] 本帖最后由 liaojuncong 于 2008-5-20 22:50 编辑 [/it]]
2008-05-19 23:20
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
????
2008-05-19 23:26
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
????
2008-05-19 23:29
光影门徒
Rank: 2
等 级:论坛游民
帖 子:103
专家分:28
注 册:2008-4-24
收藏
得分:0 
楼上此话咋理解?
学到递归调用就不能。。。。。

多看少说,重在学习!
2008-05-19 23:31
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
[quote][bo]以下是引用 [un]liaojuncong[/un] 在 2008-5-19 23:20 的发言

不是同班的那,这道题是朋友问我的,有一些地方看不懂,现在还在研究中,你定义的两个函数的标示符会不会有点太长了,C语言中虽然能支持255位,但一般都是只认前8位,超过了基本都当成同一个标示符处理的。。
2008-05-20 11:51
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
有谁可以解释一下
什么是在一个独立的行中显示输出结果,还有什么是1个级别的缩进?
2008-05-20 21:40
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
收藏
得分:0 
回复 8# 的帖子
长?现在的编译器都至少支持32位了呢,这算是短的。
BCCN堕落了,广告都出现了……版主都在干什么……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-21 03:56
快速回复:请教一道递归调用函数的问题!
数据加载中...
 
   



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

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