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語言,關於分數數列求和

#include<stdio.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;
}

③ n個分數相加的C語言程序

1.輸入n2.輸入n個分數:分子 分母3.輸出結果。 #include <stdio.h>int main()
{
int n, i;
double a, b, sum;
sum = 0;
scanf("%d", &n);
for(i = 0; i < n; i ++){
scanf("%lf %lf", &a, &b);
sum += a/b;
}
printf("The result is %lf\n", sum);
return 0;
}

④ C語言 學生成績求和

#include "iostream"
#include "iomanip"
using namespace std;
void main()
{
double a[4];
cout<<"請輸入4個學生的成績";
cin>>a[0]>>a[1]>>a[2]>>a[3];
double d,min;
d=a[0]+a[1]+a[2]+a[3];
min=d/4;
cout<<"四個學生的總成績為:"<<d<<endl;
cout<<"平均成績為:"<<fixed<<setprecision(2)<<min<<endl;
}

最後的cout裡面設置了輸出個精度為小數點後面兩位。妄採用。

⑤ 如何用c語言將n個分數相加

每兩個分數相加時先求分母的最小公倍數 然後兩個分數進行通分 分子相加 最後再約分就得到結果了

⑥ C語言:分數求和

//結構定義中包含兩個成員,分子和分母
structfraction
{
intup,down;/*分子和分母*/
};

/*
相加演算法的核心是找兩個分母的最小公倍數和結果分子分母的最大公約數,分別單獨函數來求
*/
intpubtime(int,int);//最小公倍數
intpubsub(int,int);//最大公約數,可用輾轉相除法求,挺經典的一個方法。

/********分數相加********/
fractionadd(fractionf1,fractionf2)
{
fractionresult;
result.down=pubtime(f1.down,f2.down);
result.up=f1.up*result.down/f1.down+f2.up*result.down/f2.down;
intn=pubsub(result.up,result.down);
result.up/=n;result.down/=n;
returnresult;
}

intpubtime(intn1,intn2)
{
intn=pubsub(n1,n2);
returnn1*n2/n;
}
intpubsub(intn1,intn2)
{
intr=n1;
if(n2>n1)
r=n1,n1=n2,n2=r;
do
{/*輾轉相除*/
r=n1%n2;
if(r==0)break;
n1=n2;n2=r;
}while(true);
returnn2;
}

⑦ 如何用C語言編程輸入兩個分數求和並以最簡分式的方式輸出

#include "stdio.h"
int fun(int num1,int num2)/*求最大公約數函數*/
{
int a,b,temp;
if(num1<num2)
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;
b=num2;
while(b!=0)/*利用輾除法,直到b為0為止*/
{
temp=a%b;
a=b;
b=temp;
}
return a;
}
main()
{
int a1,a2,b1,b2,c=1,num1,num2;
printf("請輸入第一個分數的分子:\n");
scanf("%d",&a1);
printf("請輸入第一個分數的分母:\n");
scanf("%d",&a2);
printf("請輸入第一個分數的分子:\n");
scanf("%d",&b1);
printf("請輸入第一個分數的分母:\n");
scanf("%d",&b2);
num1=a1*b2+b1*a2;
num2=a2*b2;
c=fun(num1,num2);
num1=num1/c;
num2=num2/c;
if(num2==1)
printf("結果為:%d:",num1);
else
printf("結果為:%d/%d:",num1,num2);
}

⑧ c語言 三個分數相加

#include <stdio.h>
#include <math.h>
#include <conio.h>

typedef struct
{
int x; /*分子*/
int y; /*分母*/
}Frac;

void Simplify(Frac* c) /*化簡分式:2/4化簡為1/2*/
{
if(c->y<0)
{
c->x=-c->x;
c->y=-c->y;
}
int a=abs(c->x),b=abs(c->y);
while(a!=0&&b!=0) a<b?b-=a:a-=b;
int k=((a==0) ? b : a);
c->x=c->x/k;
c->y=c->y/k;
}

void Add(Frac a,Frac b,Frac*c) /* 分式相加:c=a+b */
{
c->x=(a.x*b.y+a.y*b.x);
c->y=a.y*b.y;
Simplify(c);
}

main()
{
Frac a,b,c,d,sum;
printf("請輸入三個分數(先輸分子,再輸分母):\n");
scanf("%d%d",&(a.x),&(a.y));
scanf("%d%d",&(b.x),&(b.y));
scanf("%d%d",&(c.x),&(c.y));
Simplify(&a);
Simplify(&b);
Simplify(&c);
Add(a,c,&d);
Add(d,c,&sum);
printf("%d/%d + %d/%d + %d/%d = %d/%d\n",a.x,a.y,b.x,b.y,c.x,c.y,sum.x,sum.y);
getch();
}

⑨ C語言分數相加求和

#include<stdio.h>
#include<math.h>

intfenzi(inti)//分子就是137132131他們之間的差是246810
{
if(i<=0)
return1;
returni*2+fenzi(i-1);
}

intfenmu(inti)//分母就是2的i+1次方
{
return(int)pow(2,i+1);
}

intmain()
{
doublesum=0;
intflag,x,y;
for(inti=0;i<20;i++)
{
x=fenzi(i);
y=fenmu(i);
flag=pow(-1,i);//+-隨i是奇偶變換
printf("%c%d/%d",flag>0?'+':'-',x,y);
sum+=flag*x*1.0/y;
}
printf("=%lf ",sum);
return0;
}

⑩ c語言分數數列求和

看這數列的找規律:2/1,3/2,5/3,8/5,13/8.......

後一項的分母等於前一項的分子,後一項的分子等於前一項的分母+分子

#include<stdio.h>
intmain()
{
inti,n;
doublesum=0,z,m,zSave;//z,m分別保存分子分母
printf("輸入數值n:");
scanf("%d",&n);
z=2;m=1;
for(i=0;i<n;i++)
{
sum=sum+z/m;
printf("+%.0lf/%.0lf",z,m);
zSave=z;
z=z+m;
m=zSave;
}
printf("=%.6lf",sum);
return0;
}