对你的程序做小的修改:
/*求最小公倍数*/
# include
int m,n,p;
void main (){
printf ("please input m=");
scanf ("%i",&m);
printf ("please input n=");
scanf ("%i",&n);
p=m*n;
do {
if (m>n)
m=m-n;
else n=n-m;
} while (m==n);//注意:'='是赋值运算,比较运算 应该是用'=='才对
printf("the least number is %i",p/m);
}
这样你输入m=15,n=12,就得60了
下面这是我求最大公倍数的算法:
/*求最小公倍数*/
# include
int m,n,p,temp,r;
void main ()
{
printf ("please input m=");
scanf ("%i",&m);
printf ("please input n=");
scanf ("%i",&n);
if(m
temp=n;
n=m;
m=temp;
}
p=m*n;
while((r=m%n)!=0)
{
m=n;
n=r;
} //得到的n其实就是最大公约数。
printf("the least number is %i\n",p/n);
}