❶ 如何用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語言編程輸入兩個分數求和並以最簡分式的方式輸出
輸入可以用如下格式:
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的最大公約數,
通分後,分子相加,結果的分子、分母用輾轉相除法求最大公約數,進行約分。
約分後的結果輸出。