程序运行时要求用户输入两个正整数m和n,然后程序给出这两个数的最大公约数和最小公倍数,该怎么写?

如题所述

第1个回答  2013-01-14
#include<stdio.h>
int main()
{
int m, n;
int m_cup, n_cup, res;
printf("请输入两个正整数:\n");
scanf("%d %d", &m, &n);
if (m > 0 && n >0)
{
m_cup = m;
n_cup = n;
res = m_cup % n_cup;
while (res != 0)
{
m_cup = n_cup;
n_cup = res;
res = m_cup % n_cup;
}
printf("最小公倍数是: %d\n", n_cup);
printf("最大公约数是 : %d\n", m * n / n_cup);
}
else printf("Error!\n");
return 0;
}
第2个回答  2013-01-15
#include <stdio.h>
void main()
{
int m,n,r,t,f;
scanf("%d %d",&m,&n);
f=m*n;
if(m<n)
{t=m;m=n;n=t;}
r=m%n;
while(r)
{ m=n; n=r; r=m%n;}
printf("最大公约数:%d\n",n); printf("最小公倍数:%d\n",f/n);
}本回答被提问者采纳