C语言 题目:有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前20项之和。

如题所述

#include <stdio.h>

void main()

{

int a[20]={2,3},b[20]={1,2};

double c[20],sum=0;

for(int i=2;i<20;i++)

{

a[i]=a[i-1]+a[i-2];

b[i]=b[i-1]+b[i-2];

}

for(i=0;i<20;i++)

{

c[i]=(double)a[i]/b[i];

sum+=c[i];

}

printf("%f\n",sum);

}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-28
貌似跟原题有出入, 不过也算提供了一个思路

#include <stdio.h>
#include <conio.h>

int main()
{
int i;
float sum=0;

for(i=1;i<=20;i++){
sum+=(i+1.0)/i;
}

printf("前20项的和为(保留3位):%.3f\n",sum);
getch();
return 0;
}
第2个回答  推荐于2018-03-21
int f0=1,f1=2, f, n=0;
double s=0.0;
while(n<20)
{ s+=f1/f2;
f=f0+f1;
f0=f1;
f1=f;
n++;
}
printf("%f\n",s)本回答被网友采纳
相似回答