當前位置:首頁 » 編程語言 » 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);
}