当前位置: 代码迷 >> C语言 >> [讨论]关于Fibonacci数列问题
  详细解决方案

[讨论]关于Fibonacci数列问题

热度:165   发布时间:2006-03-04 12:16:00.0
[讨论]关于Fibonacci数列问题
原例子是:
main()
{
int i;
int f[20]={1,1};
for(i=2;i<20;i++)
f[i]=f[i-2]+f[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)
printf("\n");
printf("12%d",f[i]);
}
}
那么我这样改写为什么错误呢
main()
{
int i;
int f[20]={1,1};
for(i=3;i<=20;i++)
f[i]=f[i-1]+f[i-2];
for(i=1;i<=20;i++)
{
if(i%5==0)
printf("\n");
}
printf("%12d",f[i]);
}
搜索更多相关的解决方案: Fibonacci  讨论  

----------------解决方案--------------------------------------------------------

你的f[2]没有赋值


----------------解决方案--------------------------------------------------------

楼上说得不错,你的f[2]没有赋值,你的值赋给了f[0] f[1]了


----------------解决方案--------------------------------------------------------
i<=20
这句话也不对
----------------解决方案--------------------------------------------------------
数组第一个元素的角标从0开始
----------------解决方案--------------------------------------------------------
而且只能输出最后一个数的值
----------------解决方案--------------------------------------------------------
以下是引用cordier在2006-3-5 7:48:00的发言:
数组第一个元素的角标从0开始

这可不一定,要看自己是怎么定义的,在某些情况下可以将数组的第一个元素的角标从1开始


----------------解决方案--------------------------------------------------------