| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1227 人关注过本帖
标题:请教一道递归调用函数的问题!
只看楼主 加入收藏
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
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
上面那个改成这样
#include<stdio.h>
long facteral(long number);

int main()
{
    int i;
    for(i=0;i<=10;i++){
        printf("%2d!=%ld\n",i,facteral(i));
    }
    return 0;
}
long facteral(long number)
{
    static int a=0;
    long c,b;
    if(number<=1){
        return 1;
    }
    else{
        b=a++;
        while(b-->0){
            printf("  ");    
        }
        printf("%2d*%2d!\n",number,(number-1));
        c=number*facteral(number-1);
        b=a--;
        while(b-->0){
            printf("  ");
        }
        printf("%2d*%2d!=%ld\n",number,number-1,c);
        return c;
    }
}

[[it] 本帖最后由 liaojuncong 于 2008-5-21 12:09 编辑 [/it]]

QQ截图未命名.jpg (13.86 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册
2008-05-21 12:07
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
呵呵,LS花样很多,能不能说一下什么是一个级别的缩进?我有点搞不懂。
2008-05-21 17:38
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
退后一格或前进一格。。。。。。
有没有谁能不能不要用static.........

教一下
2008-05-21 17:47
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
liaojuncong
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2008-4-26
收藏
得分:0 
#include<stdio.h>
int c=0;
long factorial(long number);
int main()
{
    int i;
    for (i=0;i<=10;i++){
        printf("%2d!\n",i);
        factorial(i);
        printf("\n");
    }
    return 0;
}
long factorial(long number)
{
    long a,b;
    if(number<=1){
        printf("1!=1\n");
        return 1;
    }
    else{
        printf("%2d*%2d!\n",number,number-1);
        b=c++;
        for (;b>=0;b--)
            printf("   ");
        a=number*factorial(number-1);
        b=c--;
        for (;b>1;b--)
            printf("   ");
        printf("%2d*%2d!=%ld\n",number,number-1,a);
        return a;
    }
}
2008-05-22 00:23
cnlkf
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2008-5-13
收藏
得分:0 
呵呵,听她说你们老师很罗嗦,而且很多要求。。。我都不知道你们老师到底怎么要求你们做这道题的。。
2008-05-22 13:25
快速回复:请教一道递归调用函数的问题!
数据加载中...
 
   



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

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