當前位置:首頁 » 編程語言 » C語言一個分數的分母
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

C語言一個分數的分母

發布時間: 2022-09-26 09:29:14

A. c語言中的分數四則運算

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
void operation()
{
int a,b,c,d;
int x,y;
int i,j,t;
char ch; 
printf("-------歡迎進入分數四則運算的操作界面-------\n\n");
printf("請輸入第一個分數的分子:"); 
scanf("%d",&b);
printf("請輸入第一個分數的分母: ");
scanf("%d",&a);
if(!a)
{
printf("Error,分母不能為0!\n");
exit(0);
}
printf("請輸入第二個分數的分子:");
scanf("%d",&d);
printf("請輸入第二個分數的分母:");
scanf("%d",&c);
if(!c)
{
printf("Error,分母不能為0!\n");
exit(0);
}

getchar();
printf("請輸入運算符號[ + - * / ]: ");
scanf("%c",&ch);
switch(ch)
{
case'+': x=a*c; y=b*c+a*d; break;
case'-': x=a*c; y=b*c-a*d; break;
case'*': x=a*c; y=b*d; break;
case'/': x=a*d; y=b*c; break;
default: printf("Error,不存在該運算符號!\n"); exit(0);
}
printf("通分後的分母是%d,分子是%d\n",x,y);

x>=y?(i=x,j=y):(i=y,j=x);
/*輾轉相除法(歐幾里德演算法)*/
    t=i%j;
    while(t)  
{
i=j;
j=t;
t=i%j;
}
/*更相減損術 */
    /*t=i-j;
while(t)
{
i=j;
j=t;
t=abs(i-j);
if(t==j)
break;
}*/

       if(y/x>=0)
{
x/=j;
     y/=j;
}
else
{
x=abs(x/j);
y=-abs(y/j);
}
        printf("運算結果如下:\n");
if(y%x==0)
printf("%d/%d %c %d/%d = %d\n",b,a,ch,d,c,y/x);
else
printf("%d/%d %c %d/%d =%d/%d\n",b,a,ch,d,c,y,x);
}

void main()
{
operation();
 } 
//轉載於微信公眾號:會說話的青鳥,這上面有詳細的講解,沒看懂可以去那參考一下哦

B. C語言編程:分數的形式為:a/b,這里a和b是整數(b不能為0),分別是分子,分母.請根

(1)
struct Fraction
{
int a;
int b;

}
(2)
void display(struct Fraction x)
{
assert(x.b != 0);

printf("%d/%d\n",x.a,x.b)

}
struct Fraction multiply(structFraction x, struct Fraction y)
{
struct Fraction result;

assert(x.b != 0);
assert(y.b != 0);
result.a = x.a * y.a;
result.b = x.b * y.b;

}
(3)
void main()
{
struct Fraction x = {3,4};

struct Fraction y = {5,6};

display(x);
display(y);
display(multiply(x,y));

}

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

輸入可以用如下格式:
unsigned int a,b,c,d;

scanf("%d/%d",&a,&b);/*a/b*/
scanf("%d/%d",&c,&d);/*c/d*/
求最大公因數,可以用輾轉相除法;公分母=b、d的最小公倍數=b*d/b、d的最大公約數,
通分後,分子相加,結果的分子、分母用輾轉相除法求最大公約數,進行約分。
約分後的結果輸出。

D. C語言中分數如何表示

分數恐怕要轉化為小數了,用float型數表示。另外,也可以用兩個數表示分數,即一個分子,一個分母。

E. C語言分數問題。。

#include "stdio.h"
main()
{
int a,b,c,d,sz,sm,i,k;
printf("」請輸入第一個分數的分子:");
scanf("%d",&a);
printf("」請輸入第一個分數的分母:");
scanf("%d",&b);
printf("」請輸入第二個分數的分子:");
scanf("%d",&c);
printf("」請輸入第二個分數的分母:");
scanf("%d",&d);
sz=a*d+c*b;
/* printf("\n%d",sz); */
sm=b*d;
/* printf("\n%d",sm);*/
if(sz>sm)
{
if(sz%sm==0)
{
sz=sz/sm;
sm=1;
}
else
{
for(i=1;i!=sm;i++)
if(sz%i==0&&sm%i==0)
k=i;
sz=sz/k;
sm=sm/k;
}
}
else
{
if(sm%sz==0)
{
sm=sm/sz;
sz=1;
printf("%d,%d",sz,sm);
}
else
{
for(i=1;1!=sz;i++)
if(sz%i==0&&sm%i==0)
k=i;
sz=sz/k;
sm=sm/k;
}
}
if(sm==1)
printf("兩個分數的和為:%d",sz);
else
printf("兩個分數的和為:%d/%d",sz,sm);
getch();
}

加法編譯通過,結果驗證通過。

F. c語言中分子和分母用什麼表示

c語言中分子和分母用基數和序數表示。

在C預言的環境中,分子用基數詞,分母用序數詞。分子如果是1以上,分母用復數。同時分數可以表示為「分子/分母」的形式。編寫一個程序,要求用戶輸入一個分數,然後將其約分為最簡分式。

簡介:

C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。

盡管C語言提供了許多低級處理的功能,但仍然保持著跨平台的特性,以一個標准規格寫出的C語言程序可在包括類似嵌入式處理器以及超級計算機等作業平台的許多計算機平台上進行編譯。

G. C語言編程:用兩個正整數來精確表示一個正真分數,其中,一個表示分子,另一個表示分母,例如,

#include<stdio.h>
#define n 100
int gcd(int a, int b)//求公約數
{
if(a == 0)
{
return b;
}
else
{
return gcd(b % a, a);
}
}

int main()
{
int a[n], b[n];
int i, j, tempa,tempb, g;

printf("請輸入100組分數:\n");
for(i = 0; i < n; i++)
{
scanf("%d%d", &a[i], &b[i]);
}

for(i = 0; i < n; i++)//約分
{
if(a[i] % b[i] == 0)
{
a[i] = b[i] = a[i] / b[i];
}
else
{
g = gcd(a[i], b[i]);
a[i] /= g;
b[i] /= g;
}
}

for(i=1;i<n;i++)//插入排序法
{
j=i-1;
tempa=a[i];
tempb=b[i];
while((tempa*1.0/tempb)<(a[j]*1.0/b[j])&&j>0)
{
a[j+1]=a[j];//a[i]=a[i-1];
b[j+1]=b[j];
j--;
}
a[j+1]=tempa;
b[j+1]=tempb;
}

for(i=0;i<n;i++)
{
if(a[i]==b[i])
printf("%d\n",a[i]);
else
printf("%d/%d\n",a[i],b[i]);
}
}

H. C語言分數輸出

如果採用float或者double定義數據類型,則無法以分數形式輸出,原因是該數據類型的計算結果會採用二進制小數表示,出現誤差而無法用分數精確表示。
如果需要用分數形式輸出,最好的方法是採用兩個int類型的變數儲存分子和分母,手動計算分數的加減乘除,這樣輸出的時候只需要按照整數的輸出方式,手動添加分數線即可。
具體方法可以參考如下程序段:
int num; // 定義分子
int den; // 定義分母
double a = 3.5;
num = 7; // 3.5的分子
den = 2; // 3.5的分母
printf("%d\n", num); // 輸出分子並換行
printf("----\n"); // 輸出分數線並換行
printf("%d\n", den); // 輸出分母並換行

I. c語言分子分母怎麼表示

c語言分子分母表示:float只有6位有效數字。

原因是計算機中數據是2進制存儲的,而且浮點數還有單獨的存儲格式,44.5474轉成二進制時不可能恰好轉成一個有限位數的二進制數,就算能,位數可能也超過了浮點數存儲格式中允許的位數。因此44.54。

簡介

C語言是一門面向過程的計算機編程語言,與C++、C#、Java等面向對象編程語言有所不同。C語言的設計目標是提供一種能以簡易的方式編譯、處理低級存儲器、僅產生少量的機器碼以及不需要任何運行環境支持便能運行的編程語言。C語言描述問題比匯編語言迅速、工作量小、可讀性好、易於調試、修改和移植,而代碼質量與匯編語言相當。

J. C語言(題)分數的變化,一個分數a/b的分子和分母都加上一個數C後是變大變小,請你編程計算。

#include<stdio.h>
intmain()
{
doublea,b,c,s,x;
while(scanf("%lf%lf%lf",&a,&b,&c)!=EOF)//%lf%lf%lf%
{

if(b+c!=0)
{
s=a/b;
x=(a+c)/(b+c);
if(x>s)
printf("變大 ");
elseif(x<s)//else
printf("變小 ");
else//if(x==s)
printf("不變 ");
}
else//if(b+c==0)
printf("無意義 ");
}
return0;
}

除了scanf那裡多了個百分號,沒有其它邏輯錯誤,if分支應該優化一下,但不影響執行。