题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。
题目分析:
第1项,分子(b)=2,分母(a)=1,中间变量c=b,第1项(i)=2/1,前1项和(s)=2/1
第2项,分子(b)=b+a,分母(a)=c,中间变量c=b,第2项(i)=b/a,前2项和(s)=s+b/a
第3项,分子(b)=b+a,分母(a)=c,中间变量c=b,第3项(i)=b/a,前3????????项和(s)=s+b/a
......
写出几步就十分清晰明了
代码实现:
#include <stdio.h>
int main()
{
float b,a,c,i,s=0; //分子,分母,中间变量,第i项,前i项和
b=2;a=1;c=b;s=s+b/a;//即是初始化,也是第一项
for(i=0;i<19;i++){ //从第二项开始的,循环19次得到结果即可
b=a+b;
a=c;
c=b;
s+=b/a;
}
printf("%9.6f\n",s);//9.6打印的意思是,
//整个结果长度占9个字符并靠右对齐,当然此时刚好占9位
return 0; //6是保留6位小数
}
? ?结果:
32.660263
--------------------------------
Process exited after 0.2592 seconds with return value 0
请按任意键继续. . .