C语言,用数组来处理求Fibonacci数列问题,程序如下:

2025-05-14 15:22:33
推荐回答(2个)
回答1:

不明白你要到底要问什么?第1、2项不是你给赋值的吗?你赋的值就是1和1啊?
for (i=0;i<20;i++)
{
if (i%5==0)
{
printf ("\n"); // i=0、5、10、15时首先输入一个回车换行符,再执行下面的语句
}
printf ("%12d",f[i]); //输出数组元素。
}

回答2:

由于 int f[20]={1,1,}; 可知,f[0]=1 f[1]=1 f[2]=0 ......f[19]=0

显示结果第一、二项却是1 1 (第一、二项是f[0]、f[1],这有什么问题?)

设 i=2 时 f[2]=f[2-2] + f[2-1] 推出 f[2]=f[0] + f[1] =1+1=2

设i=3 时 f[3]=f[3-2] + f[3-1] 推出 f[3]=f[1] + f[2] =1+2=3(此时f[2]已经由上一步得到值2)。