⑴ 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);
}