鱼C论坛

 找回密码
 立即注册
查看: 2748|回复: 5

C语言关于用数组处理,求解fibonacci数列

[复制链接]
发表于 2014-4-8 19:44:33 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include<stdio.h>
void main()
{
        int i;
        int a[20]={1,1};
        for(i=3;i<=20;i++)
        {
                a[i]=a[i-1]+a[i-2];
                printf("%d\n",a[i]);
       
        }
}我的代码是这样的!
前19个都是正确的  可是到最后一个结果却是6357070
没有这么大啊!

请问是哪里出了错误呢?

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2014-4-9 10:44:56 | 显示全部楼层
人工置顶啊!求大神帮忙!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-9 15:32:20 | 显示全部楼层
#include<stdio.h>
void main()
{
        int i;
        int a[20]={1,1};
        for(i=3;i<=20;i++)  //这里应该是  for(i=2;i<20;i++) 吧
        {
                a[i]=a[i-1]+a[i-2];
                printf("%d\n",a[i]);
        
        }
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 16:37:13 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-4-9 16:52:50 | 显示全部楼层
本帖最后由 紫月冰蓝 于 2014-4-9 16:55 编辑
VIsǐοΝ__㊣ 发表于 2014-4-9 16:37
如果变成i=2 这样的话 只能从2 开始,丢掉了两个1

前两个不是以经赋初值了么?   int a[20]={1,1};  这里, 不是以经赋初值a[0]=1 a[1]=1了么..不是正好从i=2  a[2]开始统计么?

i=3    ---printf("%d\n",a[i]);  本身a[0] a[1] a[2] 就以经丢掉了. 要想不丢掉.应该换成printf("%s\n", a ) 吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-4-9 16:59:37 | 显示全部楼层
紫月冰蓝 发表于 2014-4-9 16:52
前两个不是以经赋初值了么?   int a[20]={1,1};  这里, 不是以经赋初值a[0]=1 a[1]=1了么..不是正好从i=2 ...

我明白问题出在哪里了 谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-24 03:05

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表