求两个数的最大公约数和最小公倍数
#include<stdio.h>int gbgy(int m,int n);
int GY;
void main()
{
int a,b;
printf("输入两个正整数:\n");
loop:
scanf("%d %d",&a,&b);
if(a>0&&b>0) ;
else
{
printf("有错误数据,请重新输入:\n");
goto loop;
}
printf("两个数的最大公约数是:%d\n",GY);
printf("两个数的最小公倍数是:%d\n",gbgy(a,b));
}
int gbgy(int m,int n)
{
int GB;
int i;
if(m>n)
m=n;
for(i=m;i>=1;i--)
if(m%i==0&&n%i==0)
break;
GY=i;
GB=m*n/i;
return GB;
}
这个程序的最大公约数始终是0,最小公倍数正常输出,
求指教,要求只用一个函数。
谢谢各位大虾了。