问个C语言很简单的问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 06:12:34
谁能帮忙用C语言编个程序
能求出2个数字的最大公约数和最小公倍数
用while(好象是这么拼吧就是循环的那个)语句

输入两个正整数m和n, 求其最大公约数和最小公倍数.

<1> 用辗转相除法求最大公约数
算法描述:
m对n求余为a, 若a不等于0
则 m <- n, n <- a, 继续求余
否则 n 为最大公约数
<2> 最小公倍数 = 两个数的积 / 最大公约数

#include
int main()
{
int m, n;
int m_cup, n_cup, res; /*被除数, 除数, 余数*/
printf("Enter two integer:\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("Greatest common divisor: %d\n", n_cup);
printf("Lease common multiple : %d\n", m * n / n_cup);
}
else printf("Error!\n");
return 0;
}

可否?
#include<stdio.h>
void main()
{
int m,n,x1,x2,a,b,c;
x1=1;
x2=1;
printf("请输入m和n,用空格隔开:");
scanf("%d%d",&