简单C语言数组问题!!~
首先思路是这样的!前面2个数之和等于第3个数! 开始1,1相加等于2!然后2+1=3!一只加到20个数为止!程序如下:
#include <stdio.h>
main()
{ int f[20]={1,1};
int i;
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("%12d",f[i]);
}
printf("\n");
}
可我就是想不明白!!!在f[i]=f[i-2]+f[i-1];这里!!~~
f[i]那么开始i=2 那么 f[2-2]+f[2-1]怎么会等于第3个数?前2个数都定义了是1,1 下标是0,1
哪位高手能告诉下!~~加我QQ ***********!
人在线上!
参考答案:这怎么会不明白呢
f[0]=1,f[1]=1
i=2
f[2]=1+1不就是等于2了吗
循环后i等于3的时候
f[3]=f[1]+f[2]=1+2=3,这时f[0]就没用了呀
我记得这叫斐波那契数列,而不是楼上说的杨辉三角形