网站建设资讯

NEWS

网站建设资讯

c语言分数序列求和用函数 用c语言求分数序列的和

用C语言编写程序编写分数序列的前20项之和?

//分数序列如:2\1,3\2.5\3,8\5.13\8,21\13.......的前20项之和。

成都创新互联公司是专业的灵石网站建设公司,灵石接单;提供网站设计制作、网站建设,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行灵石网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!

#includestdio.h//直接看这一组数列有什么规律,很容易发现,从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(;n0;n--)

{

theSum=theSum+getMe(n);

}

printf("%f",theSum);

}

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(;n0;n--)

{

thesum=thesum+getme(n);

}

printf("%f",thesum);

}

C语言:分数求和

//结构定义中包含两个成员,分子和分母

struct fraction

{

int up, down;/*分子和分母*/

};

/*

相加算法的核心是找两个分母的最小公倍数和结果分子分母的最大公约数,分别单独函数来求

*/

int pubtime(int, int);//最小公倍数

int pubsub(int, int);//最大公约数,可用辗转相除法求,挺经典的一个方法。

/********分数相加********/

fraction add(fraction f1, fraction f2)

{

fraction result;

result.down = pubtime(f1.down, f2.down);

result.up = f1.up * result.down / f1.down + f2.up * result.down / f2.down;

int n = pubsub(result.up, result.down);

result.up /= n; result.down /= n;

return result;

}

int pubtime(int n1, int n2)

{

int n = pubsub(n1, n2);

return n1 * n2 / n;

}

int pubsub(int n1, int n2)

{

int r = n1;

if(n2  n1)

r = n1, n1 = n2, n2 = r;

do

{ /*辗转相除*/

r = n1 % n2;

if(r == 0) break;

n1 = n2; n2 = r;

}while(true);

return n2;

}

C语言,关于分数数列求和

#includestdio.h

int main()

{

int n;

float t,r=0,fm=2,fz=1;

scanf("%d",n);

while(n--)

{

r+=fm/fz;

t=fm;

fm+=fz;

fz=t;

}

printf("%.6f",r);

return 0;

}

c语言分数数列求和

看这数列的找规律:2/1,3/2,5/3,8/5,13/8.......

后一项的分母等于前一项的分子,后一项的分子等于前一项的分母+分子

#include stdio.h

int main()

{

int i,n;

double sum=0,z,m,zSave;//z,m分别保存分子分母

printf("输入数值n:");

scanf("%d",n);

z=2;m=1;

for(i=0;in;i++)

{

sum=sum+z/m;

printf("+%.0lf/%.0lf",z,m);

zSave=z;

z=z+m;

m=zSave;

}

printf("=%.6lf",sum);

return 0;

}


名称栏目:c语言分数序列求和用函数 用c语言求分数序列的和
转载来于:http://njwzjz.com/article/hiedgp.html