24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 731  |  回复: 4

xin401

铁虫 (小有名气)

[求助] 关于fibonacci数列的一个问题,请教各位大虾!!! 已有2人参与

直接在main函数里实现此功能没有问题,但是利用函数即调用函数Fib如何实现,在Fib函数里不知道对a和b做如何处理,求助!!!
CODE:
/*
        以函数方式实现Fibonacci数列,F(0)=0,F(1)=1,以后各项为其前两项之和
*/
#include <stdio.h>
//int Fib(int i);
main()
{
        int i ,n;
        int a = 0;
        int b = 1;
        int c;
        printf("请输入所要显示的数列个数n:");
        scanf("%d",&n);
        for(i=0;i<n+1;i++){
                if(i == 0||i == 1){
                printf("F(%d) = %d\n",i,i);
                }else{
                        c = a + b;
                        a = b;
                        b = c;
                        printf("F(%d) = %d\n",i,c);
                }
        }
}
/*
int Fib(int i)
{
        int a ,b ,c;
        if(i == 0||i == 1){
                c = i;
        }else{
                c = a + b;
                a = b;
                b = c;
        }
        return(c);
}
*/

[ Last edited by jjdg on 2014-1-17 at 02:36 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木叶清风

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
jjdg: 金币+2, 感谢参与 2014-01-17 02:36:46
xin401: 金币+20, ★★★★★最佳答案, 多谢多谢 2014-01-17 14:59:00
很简单
CODE:
#include <stdio.h>
int Fib(int i);
int main()
{
        int i, n;
        int a = 0;
        int b = 1;
        int c;
        printf("请输入所要显示的数列个数n:");
        scanf("%d", &n);
        for (i = 0; i < n + 1; i++){
                if (i == 0 || i == 1){
                        printf("F(%d) = %d\n", i, i);
                }
                else{
                        c = a + b;
                        a = b;
                        b = c;
                        printf("F(%d) = %d\n", i, c);
                }
        }

        printf("%d\n", Fib(n));

        return 0;
}

int Fib(int i)
{
        int a, b, c;
        if (i == 0 || i == 1){
                c = i;
        }
        else{
                a = 0;
                b = 1;
                for (int j = 2; j <=i; ++j)
                {
                                c = a + b;
                                a = b;
                                b = c;
                }
        }
        return(c);
}

www.cvdelver.com
2楼2014-01-17 00:09:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

戴钢盔的猪头

木虫 (知名作家)

【答案】应助回帖

感谢参与,应助指数 +1
这个数列是用于线搜索的吧?似乎几十年没人用了,现在用的最多的好像是Armijo搜索,简单省事。

[ 发自手机版 http://muchong.com/3g ]
3楼2014-01-17 09:41:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxu2009

至尊木虫 (正式写手)

递归可能更好想,只是效率比较差:
CODE:
#include <stdio.h>
int main()
{
     int i ,n;
     printf("请输入所要显示的数列个数n:");
     scanf("%d",&n);
     for(i=0;i<n+1;i++)
         printf("%d\n", Fib(i));
     return 0;
}
int Fib(int i)
{
      if(i == 0||i == 1)
          return (1);
      else if(i>=2)  return(Fib(i-1)+Fib(i-2));
}

4楼2014-01-17 10:35:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xin401

铁虫 (小有名气)

引用回帖:
4楼: Originally posted by sxu2009 at 2014-01-17 10:35:24
递归可能更好想,只是效率比较差:

#include <stdio.h>
int main()
{
     int i ,n;
     printf("请输入所要显示的数列个数n:";
     scanf("%d",&n);
     for(i=0; ...

刚刚试了下,一楼正解,呵呵
5楼2014-01-17 15:05:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xin401 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 081700学硕,323分,一志愿中国海洋大学求调剂学校 +16 披星河 2026-04-04 16/800 2026-04-05 11:27 by 猪会飞
[考研] 353求调剂 +10 MayUxw1 2026-04-03 10/500 2026-04-05 09:23 by 无际的草原
[考研] 290求调剂 +7 luoziheng 2026-04-04 7/350 2026-04-04 23:17 by lqwchd
[考研] 调剂 +9 19945159693 2026-04-03 10/500 2026-04-04 20:16 by dongzh2009
[考研] 297求调剂 +11 ljy20040718! 2026-04-03 13/650 2026-04-04 09:23 by 来看流星雨10
[考研] 考研调剂 +5 小sun要好运 2026-04-03 5/250 2026-04-03 21:43 by 啵啵啵0119
[考研] 321求调剂 +17 y-yh 2026-04-01 20/1000 2026-04-03 12:57 by y-yh
[考研] 求调剂 +3 心想事成可 2026-04-03 3/150 2026-04-03 11:22 by wangjy2002
[考研] 交通运输考试264分求工科调剂 +4 jike777 2026-04-02 4/200 2026-04-02 21:53 by zllcz
[考研] 311求调剂 +14 蓝月亮亮 2026-03-30 14/700 2026-04-02 12:18 by 1753564080
[考研] 一志愿北京科技大学085601材料工程英一数二初试总分335求调剂 +9 双马尾痞老板2 2026-04-01 9/450 2026-04-02 12:14 by oooqiao
[考研] 266分,一志愿电气工程,本科材料,求材料专业调剂 +10 哇呼哼呼哼 2026-04-01 11/550 2026-04-02 11:31 by lnilvy
[考研] 085410 一志愿211 22408分数359求调剂 +3 123456789qw 2026-03-31 4/200 2026-04-02 00:06 by 义文wang
[考研] 材料与化工(0856)304求B区调剂 +8 邱gl 2026-03-30 16/800 2026-04-01 17:58 by 邱gl
[考研] 318求调剂 +8 七忆77 2026-04-01 8/400 2026-04-01 10:37 by Jaylen.
[考研] 267求调剂 +13 uiybh 2026-03-31 13/650 2026-04-01 10:25 by 探123
[考研] 土木304求调剂 +5 顶级擦擦 2026-03-31 5/250 2026-04-01 08:15 by fdcxdystjk¥
[考研] 085404 22408 315分 +5 zhuangyan123 2026-03-31 6/300 2026-03-31 13:48 by limeifeng
[考研] 262求调剂 +7 ZZ..000 2026-03-30 8/400 2026-03-31 10:05 by cal0306
[考研] 抱歉 +3 田洪有 2026-03-30 3/150 2026-03-30 19:11 by 迷糊CCPs
信息提示
请填处理意见