author:徐權
data:20150723
function:求兩個整數的最大公約數
***************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
#define LEN_ONE 50 //定義三角形的邊長,可以爲整數,也可以爲小數
#define LEN_TWO -20 //自己用的時候自己調
int max_common(int, int);
int main(void)
{
int x = LEN_ONE;
int y = LEN_TWO;
int z;
x = abs(x); //將xy進行求絕對值計算,避免出現負數情況
y = abs(y);
if (x < y) //使得x永遠不小於y
{
x = x + y;
y = x - y;
x = x - y;
}
//調用函數,求最大公約數
z = max_common(x, y);
printf("%5d 與%5d 的最大公約數是:%5d!\n",LEN_ONE,LEN_TWO,z);
system("pause");
return 0;
}
int max_common(int x, int y)
{
int z;
while (y)
{
z = x % y;
x = y;
y = z;
}
return x;
}