求两个正整数m,n的最大公约数和最小公倍数代码:
#include
void main()
{
int m,n,gcd,lcm; /gcd为最大公约数,lcm为最小公倍数/
int max,min,swap; /max为m,n中较大值,min为m,n中较小值/
printf("输入两个正整数m和n\n");
scanf("%d %d",&m,&n);
max=m>n?m:n; /返回m,n中较大值给max/
min=m swap=min; /较大值不能整除较小值时用得到/ if(max%min==0) { gcd=min; printf("最大公约数gcd=%d",gcd); } while(swap!=0) { swap=swap-1; /往较小值下面找/ if(max%swap==0 && min%swap==0) { gcd=swap; printf("最大公约数gcd=%d",gcd); break; /找到停止循环/ } } lcm=m*n/gcd; printf("最小公倍数lcm=%d",lcm); } 说明://里面为说明文字,c语言注释标识为