用C语言编写程序:输入两个正整数m,n.求其最大公约数和最小公倍数

如题所述

#include "stdio.h"
void main(){
int m,n,temp,a,b;
printf("请输入2个正整数m和抄n:");
scanf("%d%d",&m,&n);
a=m;
b=n;
if(m<n){ temp="m;" m="n;" n="temp;" }="" if(0="=n){" printf("除数为0!\n");="" return;="" while(temp!="0){" printf("最大公约数袭为:zhidao%d\n",n);="" printf("最小公倍数为:%d\n",a*b="" n);="" }
温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-03-30

#include "stdio.h"
void main(){
int m,n,temp,a,b;
printf("请输入2个正整数m和n:");
scanf("%d%d",&m,&n);
a=m;
b=n;
if(m<n){ temp="m;" m="n;" n="temp;" }="" if(0="=n){" printf("除数为0!\n");="" return;="" while(temp!="0){" printf("最大公约数为:%d\n",n);="" printf("最小公倍数为:%d\n",a*b="" n);="" }

本回答被网友采纳
第2个回答  2011-10-23
#include"stdio.h"
main()
{
int m,n,t,h,a,b,q;
printf("输入m,n的值:");
scanf("%d%d",&m,&n);
a=m;
b=n;
if (n>m)
{t=m;m=n;n=t;}
while (m%n!=0)
{ h=n;n=m%n;m=n;}
a=a/n;b=b/n;q=a*b*n;
printf("两数最大公约数为 %d,最小公倍数为 %d\n",n,q);
}本回答被提问者采纳
第3个回答  2011-10-23
if (n>m)
{t=m;m=n;n=t;}
while (m%n)
{ h=n;n=m%n;m=n;}
算法就是用辗转相除法求最大公约数
算法描述:
m对n求余为a, 若a不等于0
则 m <- n, n <- a, 继续求余
否则 n 为最大公约数
第4个回答  2020-11-25

C语言经典例子之求其最大公约数和最小公倍数