数列求和出现问题,求解???
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
下面的程序在赋值后,得到的a[i]的值不正确,例如开始 a[0]=1;但赋值完毕后成了28657,这是在devc++中运行的,不知道为什么,求解????!!!!
#include "stdio.h"
main()
{int i,j;
float s=0,a[20],b[20];
a[0]=1;a[1]=2;
b[0]=2;b[1]=3;
for(j=0;j<20;j++)
b[j+2]=b[j]+b[j+1];
for(i=0;i<20;i++)
{a[i+2]=a[i]+a[i+1];
printf("a[%d]=%f,\n",i,a[i]);}
for(i=0;i<20;i++)
s=s+b[i]/a[i];
printf("%f\n",s);
while(1);}
[解决办法]
- C/C++ code
for(j=0;j<20;j++) b[j+2]=b[j]+b[j+1];