C语言程序设计 7

来源:百度知道 编辑:UC知道 时间:2024/05/13 18:37:11
编程实现求两个正整数的最大公约数和最小公倍数的功能,要求用一个函数求最大公约数,另外一个函数求最小公倍数。
0902060114
你的程序运行后,随机输入2个数,得到的是错误答案

输入
125 25
结果
1 -2091

canbingzt
程序不能运行

输入数据时用逗号隔开哦!
#include"stdio.h"
int umax(int m,int n) /*辗转相除法求最大公约数*/
{
int t,r;
if(m<n)
{t=m;m=n;n=t;}
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
return n;
}
int umin(int m,int n) /*求最小公倍数*/
{
int s;
s=umax(m,n);
return m*n/s;
}
main()
{
int a,b;
printf("please input two number:\n");
scanf("%d,%d",&a,&b);
printf("zui da gong yue shu shi %d\n",umax(a,b));
printf("zhui xiao gong bei shu shi %d\n",umin(a,b));
}

int max(int a,int b)
{
int t;
if (a<b)
{
t=a;
a=b;
b=t;
}
do
{
t=a%b;
a=b;
b=t;
}while(t!=0);
return a;
}

int min(int a,int b)
{
return a*b/max(a,b);
}

函数max求最大公约数,min求最