标题:自我感觉方法没什么错误 可事实就是错了 忘高手指点
只看楼主
clqngw
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-4-17
 问题点数:0 回复次数:4 
自我感觉方法没什么错误 可事实就是错了 忘高手指点
题目是:求Fibonacci数列的第i项值
数列:0,1,1,2,3,5,8,13,21.......
下面是我自己觉得能解决这个问题的算法    但运行结果都是0,麻烦高手指点一下,思路上哪里出了毛病,谢谢   呵呵

#include<stdio.h>
long fibonacci(int n)
{
    int i;
    if(n==0||n==1)
        i=n;
    else
        i=fibonacci(n-1)+fibonacci(n-2);
    return i;
}
main()
{
    int x=0;
    long f;
        f=fibonacci(x);
    scanf("%d",&x);
    printf("fabonacci(%d)=%d\n",x,f);
}
搜索更多相关主题的帖子: 事实 感觉 
2008-05-12 21:20
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
当然是0啦,意料中的结果……

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-12 22:21
StarWing83
Rank: 8Rank: 8
来 自:仙女座大星云
等 级:贵宾
威 望:19
帖 子:3951
专家分:748
注 册:2007-11-16
得分:0 
你自己看看是什么时候对x赋值的,又是什么时候调用函数的………………

专心编程………
飞燕算法初级群:3996098
我的Blog
2008-05-12 22:22
jiang5495
Rank: 1
等 级:新手上路
威 望:2
帖 子:296
专家分:0
注 册:2008-5-11
得分:0 
have a try
#include<stdio.h>
long fibonacci(int n)
{
    int i;
    if(n==0||n==1)
        i=n;
    else
        i=fibonacci(n-1)+fibonacci(n-2);
    return i;
}
main()
{
    int x=0;
    long f;
        scanf("%d",&x);
        f=fibonacci(x);
        printf("fabonacci(%d)=%d\n",x,f);
}


这样可以了,先输入X,再调用函数!
2008-05-12 22:32
clqngw
Rank: 1
等 级:新手上路
帖 子:24
专家分:0
注 册:2008-4-17
得分:0 
回复 5# 的帖子
谢谢了    问题搞明白了   就是调用函数和输入x得顺序问题   谢谢了   呵呵
2008-05-13 09:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-213995-1-1.html




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

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