| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1227 人关注过本帖
标题:请教一道递归调用函数的问题!
取消只看楼主 加入收藏
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
 问题点数:0 回复次数:7 
请教一道递归调用函数的问题!
请问这道题中的加出加粗部分是什么意思,我看不懂它在说些什么,请高手指教一下。
观察“运动的”递归过程是非常有趣的。修改阶乘函数,[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
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
LS可以把你的程序让我看一下吗?还是有一些看不懂。
2008-05-19 20:29
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
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
[bo]以下是引用 [un]StarWing83[/un] 在 2008-5-21 03:56 的发言:[/bo]

长?现在的编译器都至少支持32位了呢,这算是短的。
BCCN堕落了,广告都出现了……版主都在干什么……


哦,我用TC运行就不行那,还得改一下名字。。

可以讨论一下我问的那两个问题么?
2008-05-21 12:05
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
呵呵,LS花样很多,能不能说一下什么是一个级别的缩进?我有点搞不懂。
2008-05-21 17:38
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
你试一下这个代码,是别人发给我的。
#include<stdio.h>
long facteral(long number);
int main()
{
    int i;
    for(i=0;i<=10;i++){
        printf("%2d! = %ld \n\n",i,facteral(i));
    }
    return 0;
}
long facteral(long number)
{
    long a,b,c;
    if(number<=1){
        printf("1! = 1\n");
        return 1;
    }
    else{
        printf("%d! = %d * %d!\n",number,number,(number-1));
        for(a=10-number;a>0;a--){
            printf("  ");
        }
        b=number*facteral(number-1);
        for(a=10-number;a>1;a--){
            printf("  ");
        }
        printf("%d! = %d * %d! = %d\n",number,number,(number-1),b);
        return b;
    }
}

不过他说要做成像下面图片这样:
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-05-21 17:57
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
呵呵,听她说你们老师很罗嗦,而且很多要求。。。我都不知道你们老师到底怎么要求你们做这道题的。。
2008-05-22 13:25
快速回复:请教一道递归调用函数的问题!
数据加载中...
 
   



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

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