写两个函数,分别求两个整数的最大公约数和最小公倍,由主函数调用这两个函数并输出结果
#include<stdio.h>
int gcd(int a, int b)
{
int t,i,c;
t=a>b?a:b;
for(i=t;i>=1;i--)
{
if(a%i==0&&b%i==0)
{
c=i;
}
}
return c;//返回c的值;
}
int maxbei(int a, int b)
{
int s,i;
s=a*gcd(a,b)*b;
return s;
}
int main()
{
int a,b,c,s,n;
scanf("%d%d",&a,&b);
s=maxbei(a,b);//调用函数;
n=gcd(a,b);//调用函数;
printf("最小公倍数:%d\n",s);//最小公倍数
printf("最大公约数:%d",n);//最大公约数
return 0;
}
运行结果:
代码:
#include <stdio.h>
//公约数
int gcd(int a, int b)
{
int t;
if (a > b)
t = b;
else
t = a;
for (;t >= 1; t--)
{
if (a % t == 0 && b % t == 0)
return t;
}
}
//公倍数
int lcd(int a, int b)
{
return a * b / gcd(a, b);
}
int main()
{
int a, b;
printf("请输入两个整数:");
scanf("%d %d", &a, &b);
printf("%d和%d的最大公约数:%d,最小公倍数:%d", a,b,gcd(a, b), lcd(a, b));
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!