/*写两个函数,分别求取两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入。*/
#include <stdio.h>
#include <math.h>
long CommomDivisor(int x,int y);
long CommonMulitple(int x,int y,int z);
int main()
{
int cd,cm;//cd代表公约数Commom Divisor,cm代表公倍数Common Mulitple
int int num1,num2;
printf("请输入两个整数num1,num2,要求num1>num2\n");
scanf("%d%d",&num1,&num2);
cd=CommomDivisor(num1,num2);
cm=CommonMulitple(num1,num2,cd);
printf("%d和%d的最大公约数为%d,最小公倍数为%d\n",num1,num2,cd,cm);
}
long CommomDivisor(int x,int y)
{ int e;
if(x<y)
{
e=x;
x=y;
y=e; //迭代法
}
while((e=x%y)!=0)
{
x=y;
y=e;
}
return(y);
}
long CommonMulitple(int x,int y,int z)
{ return (x*y)/z;}
运行结果如下