这样写:
#include
void
main()
{
int
m,n,i,r,temp;
printf("请输入第一个数的值:
");
scanf("%d",&m);
printf("请输入第二个数的值:
");
scanf("%d",&n);
if(n>m)
{
temp=m;
m=n;
n=temp;
}
i=n;
while(i%m!=0)
{
i=i+n;
}
printf("最小公倍数是:%d
\n",i);
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
printf("最大公约数是:%d
\n",n);
}
图:
#include
int max(int &x,int &y)//改为引用,直接调整大小
{ int t;
if(y>x)
{
t=x;
x=y;
y=t;
}
return x;
}
int main(void)
{
int a,b,c,d,t;
int larger;
printf("请输入两个正整数 a,b:");
scanf("%d,%d",&a,&b);
max(a,b); //
c=a*b;
while(b!=0) //应该用while循环
{ t=a%b;
a=b;
b=t;
}
printf("最大公约数为:%d\n",a);
printf("它们的最小公倍数为:%d\n",c/a);
return 0;
}