求教高手 解答问题C语言作业

来源:百度知道 编辑:UC知道 时间:2024/05/23 12:27:58
有一分数序列
2/1,3/2,5/3,8/5,13/8,21/13,… 求出这个数列的前20项之和

main()
{
float a=2,b=1,c=3,d=2,e,f;

int i;
float sum=a/b+c/d;

for(i=2;i<20;i++)
{
e=a+c;
f=b+d;
sum=sum+e/f;
a=c;
b=d;
c=e;
d=f;
}

printf("%f",sum);
getch();
}

像这类问题,关键是找到关系,a,b,c,d,e,f
c=a+b;d=b+c,e=c+d,f=d+e....
这就会了吧,哈哈~!

分析数列的规律:
前两项是给出的,后面的项中的分母和分子,分别是它前两项的分母和分子的和。

可由如下程序来实现前二十项求和:
main()
{ int x1=2,y1=1;
int x2=3,y2=2;
float result;
int x,y;

int cnt ;

result = (1.0*x1/y1) + (1.0*x2/y2);

for(cnt=3;cnt<=20;cnt++)
{
x=x1+x2;
y=y1+y2;

result = result + 1.0*x/y;

x1=x2;
y1=y2;

x2=x;
y2=y;
}

printf("this is the sum:%.4f",result);
getch();
}

#include<st