有一分数序列:2/1,3/2,5/3,8/5,13/8,21/12……求出这个数列的前20项之和。 我哪里写错了
#include<stdio.h>void main()
{int i=2,j=1,k=1;
float sn=0,nk;
for(;k<=20;i=i+2,j=j+2,k++)
{nk=i/j;
sn=sn+nk;
}
printf("sum=%9.6f\n ",sn);
}
我的 sum=21.000000
而课本上的是这样的。
#include<stdio.h>
void main()
{ int i,t,n=20;
float a=2,b=1,s=0;
for (i=1;i<=n;i++)
{s=s+a/b;
t=a;
a=a+b; /*将前一项分子与分母之和作为下一项的分子*/
b=t ; /*将前一项的分子作为下一项的分母*/
}
printf (" sum=%9.6f\n",s)
}
课本是 32.660259