当前位置:首页 » 编程语言 » c语言有一个分数序列
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言有一个分数序列

发布时间: 2022-02-04 19:16:57

c语言编程:有一分数序列,求和。

#include<stdio.h>
void main()
{
int n=1,i=1,j=2,temp;
float s=0;
while(n<=20)
{
s=s+j/i;
temp=j;
j=i+j;
i=temp;
n++;
}
printf("和为:%g\n",s);

}

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

public class Demo11 {

public static void main(String[] args) {

double sum=2/1;

double m=2;//定义分子

double n=1;//定义分母

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

m=m+n;

n=m-n;

sum+=(double) m/n; //将分子的类型强制转换成double,否则两个int相除,结果还是int会将小数点后都舍弃。

}

System.out.println(sum);

}

}

//用数组方法来实现

public class Demo2 {

public static void main(String[] args) {

double numerator[]=new double[20]; //创建分子长度为20的浮点型数组

double denominator[]=new double[20]; //创建分母长度为20的浮点型数组

numerator[0]=2;

denominator[0]=1;

double sum=numerator[0]/denominator[0];

for(int i=0;i<19;i++){

numerator[i+1]=numerator[i]+denominator[i];

denominator[i+1]=numerator[i];

sum+=(double)numerator[i+1]/denominator[i+1];

}

System.out.println(sum);

}

}

(2)c语言有一个分数序列扩展阅读

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

public class QiuHe {

public static void main(String[] args){

float total=0;

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

float top= getTop(i+1);

float bottom=getBottom(i+1);

total+=top/bottom;//每一项的值

}

System.out.println(total);

}

//获取分子核心递归方法

public static float getTop(int position){

if(position==1){

return (float)2;

}

if(position==2){

return (float) 3;

}

return getTop(position-1)+getTop(position-2);

}

//获取分母核心递归方法

public static float getBottom(int position){

if(position==1){

return (float) 1;

}

if(position==2){

return (float)2;

}

return getBottom(position-1)+getBottom(position-2);

}

}

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

//首先你得m没有赋值
/*doublei=2,k=1,n,s=0,m;
for(n=1;n<=20;n++)
{s+=i/k;
i=m;//没赋值*/
#include<stdio.h>
voidmain()
{
doublei=2,k=1,n,s=0,m;
for(n=1;n<=20;n++)
{
printf("%f/%f=%f ",i,k,i/k);//验证是否是这些数字相除
s+=i/k;///强制类型转换
s=i;
i=i+k;
k=s;

}
printf("原式=%f",s);
}

⑷ 用c语言求解:有一分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求这个数列的前20项之和。

分子分母都是斐波那契数列
#include <stdio.h>

int fabonaci2_3(int n)
{
if(n=1)
return 2;
else if(n=2)
return 3;
else if(n>=3)
return fabonaci(n-1)+fabonaci(n-2);
else
{
printf("Input Error!\n");
return 1;
}
}

int fabonaci1_2(int n)
{
if(n=1)
return 1;
else if(n=2)
return 2;
else if(n>=3)
return fabonaci(n-1)+fabonaci(n-2);
else
{
printf("Input Error!\n");
return 1;
}
}

int main()
{
int i;
double s=0.0;
for(i=1;i<=20;i++)
s+=(double)fabonaci2_3(i)/(double)fabonaci1_2(i);
printf("2/1+3/2+5/3+8/5+13/8+21/13+...(20 items) = %f\n", s);
return 0;
}

⑸ C语言程序编程:有一分数序列 2/1,3/2,5/3,8/5,13/8,21/13,…求这个数列前30项之和!请编程实现之!

int i=0,m=0,x=2,y=1,z=0;/i作为计数,m作为累加和,x作分数序列的分子,y作分数序列的分母,z作为一个寄存器;
for(i=0;i<30;i++)//累加30个数;
{
m=m+x/y; //累加到m;
z=x; //先保留x的值到z;
x=x+y; //根据分数序列看出,下一个分数的分子是前一个分数的分子与分母之和;
y=z; //根据分数序列看出,下一个分数的分母是前一个分数的分子;
}
//再输出m就是了;

⑹ 有一个分数序列1/2,2/3,3/5,5/8,8/13,13/21......求这个序列的前20项之和。帮忙啊!C语言编程

#include<stdio.h>
main()
{
double a[20],b[20];
int i=0;
double sum=0;
a[0] = 1;
b[0] = 2;
a[1] = 2;
b[1] = 3;
for (i=2;i<20;i++)
{
a[i] = a[i-2] + a[i-1];
b[i] = b[i-2] + b[i-1];
}
for (i=0;i<20;i++)
{
sum += a[i]/b[i];
}
printf("%f\n",sum);
}

⑺ C语言编程:有一分数序列:1/2,3/4,7/6,13/8,21/10...求出这个数列的前20项之和

思路:首先观察分子的规则是前一个分数的分子与分母的和,分母的规则是2468……偶数。

参考代码:

#include"stdio.h"
intmain()
{
intn=1,m=2,i;
doublesum=0;
for(i=0;i<20;i++){
sum+=1.0*n/m;
n+=m;
m+=2;
}
printf("%.2lf ",sum);
return0;
}
/*
运行结果:
96.80
*/

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

#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();
}

⑼ c语言 有一组分数序列:2/1+3/2+5/3+8/5+13/8求其前20项的和

wblwx的回答明显没有理解题意,结果根本不对的。
jinmi6001的编译通不过的。int
a[count+2]在C语言里面是不被允许的。
看我的:
main()
{
int
a,b,c,i;
float
sum;
a=1;
b=2;
sum=0;
for(i=1;i<=20;i++)
{
sum+=(float)b/(float)a;
c=a+b;
a=b;
b=c;
}
printf("sum=%.2f\n",sum);
}

⑽ C语言,有一个分数序列,2/1, 3/2, 5/3, 8/5, 13/8, 21/13,

自定义一个函数,for循环的运用,
程序如下:
#include<stdio.h>
main()
{
int i,n,a=0,b=0;
double sum=0;
scanf("%d",&n);
for(i=2;i<=2*n+2;i++)
{
sum=sum+a(i)/b(i);
printf("%.2f\n",sum);
}
}
int a (i)(int i)
{
a(0)=1;
a(1)=1;
a(i)=a(i-1)+a(i-2);
return a(i);
}
int b(i)(int i)
{
a
b(0)=0;
b(1)=1;
b(i)=b(i-1)+b(i-2);
return b(i);
}