c语言自定义并调用函数求三个数的最小公倍数
程序流程图:
代码:
#include<stdio.h>
int la1(int m ,int n,int p);
int la2(int m ,int n,int p);
int sm(int m ,int n,int p,int o,int d);
void main()
{
int x,y,z,h,l,s;
printf("please enter x,y,z\n");
scanf("%d,%d,%d",&x,&y,&z);
h=la1(x,y,z);
l=la1(x,y,z);
s=sm(x,y,z,h,l);
printf("least common divisor:%d\n",s);
}
int la1(int m ,int n,int p)
{
int t,i,a;
if(m<n)
{
t=m;
m=n;
n=t;
}
while(n!=0)
{
i=m%n;
m=n;
n=i;
a=m;
}
return(a);
}
int la2(int m ,int n,int p)
{
int j,k,b;
if(m<p)
{
j=m;
m=p;
p=j;
}
while(p!=0)
{
k=m%p;
m=p;
p=k;
b=m;
}
return(b);
}
int sm(int m ,int n,int p,int o,int d)
{
int c;
o=la1(m,n,p);
c=m*n/o;
d=la2(m,n,p);
return (m*p/d);
}
结果:
小结:运用求两个整数的最大公约数和最小公倍数的公式推广至三个整数的最大公约数和最小公倍数自定义函数数,通过函数调用求值。