1. 程式人生 > >最簡分式

最簡分式

題目內容:

分數可以表示為“分子/分母”的形式。編寫一個程式,要求使用者輸入一個分數,然後將其約分為最簡分式。最簡分式是指分子和分母不具有可以約分的成分了。如6/12可以被約分為1/2。當分子大於分母時,不需要表達為整數又分數的形式,即11/8還是11/8;而當分子分母相等時,仍然表達為1/1的分數形式。

 

輸入格式:

輸入在一行中給出一個分數,分子和分母中間以斜槓“/”分隔,如: 12/34 表示34分之12。分子和分母都是正整數(不包含0)。

 

提示:在scnaf的格式字串中加入“/”。

 

輸出格式:

在一行中輸出這個分數對應的最簡分式,格式與輸入的相同,即採用“分子/分母”的形式表示分數。如 5/6 表示 6分之5

 

輸入樣例:

60/120

 

輸出樣例:

1/2

 

#include<stdio.h>

int main()
{
	int m,n,mt,nt;
	scanf("%d/%d",&m,&n);
	mt = m;
	nt = n;
	if( m > n){
		int t = m;
		m = n;
		n = t;
	}
	int r = n%m;
	while( r ){  //輾轉相除法 
		n = m;
		m = r;
		r = n%m;
	} 
	mt = mt/m;
	nt = nt/m;
	printf("%d/%d\n",mt,nt);
	
	return 0;
}