分析:
分子分母都是:从第三个数开始,后续数的数值都是前两个数之和。
程序
第一种方法:
#include<stdio.h>
int main()
{
float fenzisum = 0; //分子和
float fenmusum = 0; //分母和
float sum = 0;
float a=2,b=3; //a,b分别表示分子的第一个数与第二个数
fenzisum=a+b;
float x=1,y=2; //x,y分别表示分母的第一个数与第二个数
fenmusum=x+y;
sum = a/x+b/y; //先算出来前两个数的数值
for(int i=0;i<(20-2);i++) //20-2个数
{
sum=fenzisum/fenmusum; //求和
//下面改变分子分母相应变量的指向,都让其指向后一个数
a=b;
b=fenzisum;
fenzisum=a+b;
x=y;
y=fenmusum;
fenmusum=x+y;
}
printf("2/1+3/2+5/3+...+21/13=%f\n",sum);
return 0;
}
第二种方法
利用分子与分母数值的关系,对下一项的分子、分母进行赋值。
#include<stdio.h>
int main()
{
float sum = 0,temp=0;
float a=2,b=1; //第一项
for(int i=0;i<20;i++)//20个数
{
sum+=a/b;
temp=a+b;
b=a; //当前项的分子是下一项的分母
a=temp; //当前项的分子与分母的和为下一项的分子
}
printf("2/1+3/2+5/3+...+21/13=%f\n",sum);
return 0;
}