C语言计算一个分数序列的前20项之和

如题所述

//分数序列如:2\1,3\2.5\3,8\5.13\8,21\13.......的前20项之和。
#include
//直接看这一组数列有什么规律,很容易发现,从2/1开始,后一组的分母为前一组的一个分子
//后一项的分子为前一项的分母分子之和,如果用an表示分母,bn表示分子,则有递推工式,b(n+1)=an::a(n+1)=an+bn知道这个就很好办了
float
getme(int
n)//这个函数就是求第n项的那个数的值
{
float
an=2.0;float
bn=1.0;
float
temp;
while(--n)
{
temp=bn;
bn=an;
an=an+temp;
}
return(an/bn);}
void
main()
{
int
n;
float
thesum=0.0;
printf("请输入你想要求的前n项的和:");
scanf("%d",&n);
for(;n>0;n--)
{
thesum=thesum+getme(n);
}
printf("%f",thesum);
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-03-21
#include
void
main()
{
int
n;
double
s,
t;
s
=
0;
for
(n
=
1;
n
<=
20;
n++)
{
t
=
1.0
/
(2
*
n);//1为整型,如果结果为浮点型,那么要用1.0,
s
=
s
+
t;
}
printf("前20项之和为:%f",
s);//%d改为%f
getchar();
}
相似回答