| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付赛孚耐:软件保护加密专家
身份认证令牌USB KEY   
共有 802 人关注过本帖
标题:讨论 递归算法 实现,用途?
收藏  订阅  推荐  打印 
zh76029412
Rank: 1
等级:新手上路
帖子:4
积分:140
注册:2007-5-24
讨论 递归算法 实现,用途?

本题找错!!
不知道那里出问题了,请大虾,牛人多多指教,
小弟在此先谢谢了!!

#include <stdio.h>
void mian()
{
int i;
int fact();
for(i=0;i<=5;i++)
printf("\40:%d!=%d",i,fact(i));
}

int fact(j)

int j;
{
int sum;
if(j==0)
sum=1;
else
sum=j*fact(j-1)
return sum;
}

搜索更多相关主题的帖子: 递归  算法  int  用途  sum  
2007-11-21 14:52
yzzfei
Rank: 1
等级:新手上路
帖子:11
积分:210
注册:2007-11-21

#include <stdio.h>
void mian()//应该是main()
{
int i;
int fact();//函数里面不能定义其他函数,只能调用;
for(i=0;i<=5;i++)
printf("\40:%d!=%d",i,fact(i));//("i=%d,fact(i)=%d\n",i,fact(i));\n换行;
}

int fact(j)//函数定义应该在第一次调用之前;main()函数已经调用该函数;

int j;//参数应该在第一次使用之前定义,如int fact(int j)
{
int sum;
if(j==0)//递归调用的每个if都应该有return
sum=1;
else
sum=j*fact(j-1)
return sum;
}
下面是已经通过编译的代码:
#include <stdio.h>
int fact(int);
void main()
{
int i;
for(i=0;i<=5;i++)
printf("i=%d,fact(i)=%d\n",i,fact(i));
}
int fact(int j)
{

if(j==0)
return 1;
else
return j*fact(j-1);
}

2007-11-21 15:29
论坛元老
Rank: 4
等级:高级会员
帖子:811
积分:8298
注册:2008-3-31

路过,顶一下
2008-4-2 15:00
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.060220 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved