| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 450 人关注过本帖
标题:帮忙看下菲波拉契序列的问题
只看楼主 加入收藏
zhaoyh2009
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2012-10-24
结帖率:0
收藏
已结贴  问题点数:20 回复次数:6 
帮忙看下菲波拉契序列的问题
# include <stdio.h>

int main(void)
{
    int i,n;
    int f1, f2, f3;

    printf("请输入你需要求的序列:");
    scanf("%d", &n);

    if (n == 1)
        f3 = 1;
    else if (n == 2)
        f3 = 2;
    else
        for (i=3; i<=n; ++i)
        {
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        
        }
        printf("序列%d的值是%d\n", n, f3);

    return 0;
}
各位老大帮忙指导下,我在vc++6.0上调试当输入数字大于2的时候就显示负数了,不知道哪出问题了。
搜索更多相关主题的帖子: include 
2012-11-02 18:00
hh373231690
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:67
专家分:138
注 册:2012-10-13
收藏
得分:3 
f3 = f1 + f2;
你的f1和f2没有赋初值
2012-11-03 00:30
zxd543
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:内蒙古
等 级:贵宾
威 望:17
帖 子:453
专家分:2351
注 册:2012-4-12
收藏
得分:3 
int f1, f2, f3;//改成int f1=1, f2=2, f3;试试

马马虎虎 不吝赐教 我是路过蹭分滴
2012-11-05 10:56
臧月亮
Rank: 2
等 级:论坛游民
帖 子:11
专家分:13
注 册:2012-11-4
收藏
得分:3 
#include <stdio.h>

int main(void)
{
    int i;
    int n;
    int f1, f2, f3;
    f1 = 1;
    f2 = 2;

    printf ("请输入你要求的序列:");
    scanf ("%d", &n);
    if (1 == n)
    {
        f3 = 1;
    }
    else if (2 == n)
    {
        f3 = 2;
    }
    else
    {
        for (i = 3; i <= n; i++)
        {   
            f3 = f1 + f2;
            f1 = f2;
            f2 = f3;
        }

    }
    printf ("%d\n", f3);
    return 0;
}
/*
在VC++6.0上输出的结果:

请输入你要求的序列:9
55
Press any key to continue
*/

你试一试这个,我测试是通过的,看和你有什么不同之处。
2012-11-05 17:40
mengqingguo
Rank: 2
等 级:论坛游民
帖 子:25
专家分:36
注 册:2012-11-1
收藏
得分:3 
楼上的可以
2012-11-07 09:34
abc00000
Rank: 2
等 级:论坛游民
帖 子:42
专家分:46
注 册:2012-10-16
收藏
得分:3 
# include <stdio.h>
 
int main(void)
 {
     int i,n;
     int f1, f2, f3;
         f1=1;
         f2=1;

    printf("请输入你需要求的序列:");
     scanf("%d", &n);
 
    if (n == 1)
         f3 = 1;
     else if (n == 2)
         f3 = 1;
     else
         for (i=3; i<=n; ++i)
         {
             f3 = f1 + f2;
             f1 = f2;
             f2 = f3;
         
         }
         printf("序列%d的值是%d\n", n, f3);
         main();
 }
 这个才是真正的菲波拉契序列吧,结果是:1,1,2,3,5,8,13,21,34,55,89,144,233.........
2012-11-07 11:35
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:3 
楼上正解

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-07 11:44
快速回复:帮忙看下菲波拉契序列的问题
数据加载中...
 
   



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

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