| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 647 人关注过本帖
标题:请帮忙指出下面的问题并改正!
只看楼主 加入收藏
雪色朝阳
Rank: 2
等 级:论坛游民
帖 子:36
专家分:43
注 册:2010-3-10
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:5 
请帮忙指出下面的问题并改正!
编写函数fun(),它的功能是求Fibonacci中小于t的最大的一个数,结果由函数返回。Fibonacci数列如下:
F(0)=0,F(1)=1
F(n)=F(n-1)+F(n-2)

请问以下程序有什么问题?

#include    <stdlib.h>
#include    <conio.h>
#include    <math.h>
#include    <stdio.h>
int  fun(int t)
{
int c;
if(t==1)
  return 2;
else c=fun(t-1)+fun(t-2);
return c;
}
void main()
{
 int  n;
 system("CLS");  
 n=1000;
 printf("n=%d,  f=%d\n",n, fun(n));
}
搜索更多相关主题的帖子: include system return 最大的 
2010-03-20 20:08
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:10 
#include    <stdlib.h>
#include    <conio.h>
#include    <math.h>
#include    <stdio.h>
int  fun(int t)
{
if(t==1)
  return 1;
else if (t==0)
  return 0;

else
  return (fun(t-1)+fun(t-2));
}
void main()
{
int  n;
system("CLS");
n=10;        /*这个数字不能太大*/
printf("n=%d,  f=%d\n",n, fun(n));
}

★★★★★为人民服务★★★★★
2010-03-20 21:47
胡马平
Rank: 2
等 级:论坛游民
帖 子:18
专家分:54
注 册:2010-3-16
收藏
得分:0 
楼上已解决!!!
2010-03-21 07:40
yangriver
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2010-3-8
收藏
得分:0 
刚看了一个帖子,main函数不能返回void哦
2010-03-21 13:28
雪色朝阳
Rank: 2
等 级:论坛游民
帖 子:36
专家分:43
注 册:2010-3-10
收藏
得分:0 
回复 2楼 cnfarer
为什么n的值不能太大啊,我试了一下,当取n=100时,执行时没有数字显示,只有光标在闪,这是什么原因啊?
2010-03-21 14:09
cnfarer
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:179
帖 子:3330
专家分:21157
注 册:2010-1-19
收藏
得分:0 
回复 5楼 雪色朝阳
递归是很耗资源的操作!在不停地使用栈空间,而栈空间是有限的.
即使栈空间足够,也可能存在数值很很大超过变量类型值的范围.

★★★★★为人民服务★★★★★
2010-03-21 14:24
快速回复:请帮忙指出下面的问题并改正!
数据加载中...
 
   



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

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