编写函数实现,输入两个整数m和n,求最大公约数和最小公倍数,c语言 50

 我来答
447587096
2015-12-03 · TA获得超过5047个赞
知道大有可为答主
回答量:2504
采纳率:70%
帮助的人:1248万
展开全部
#include <stdio.h>
main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
p=n*m;
if(n<m)
{temp=n;
n=m;
m=temp;
}

while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("它们的最大公约数为:%d\n",n);
printf("他们的最小公倍数为:%d\n",p/n);
}
追问
用函数调用
追答
#include 
int zuida(int m, int n)
{
int temp ,r;
if(n<m)
{temp=n;
n=m;
m=temp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}

return n;
}

int zuixiao(int m, int n)
{
int p,temp,r;
p=n*m;
if(n<m)
{temp=n;
n=m;
m=temp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
return p/n;
}
main()
{
int n,m;
int da,xi;
printf("请输入两个正整数n,m:"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
da = zuida(m,n);
xi = zuixiao(m,n);

printf("它们的最大公约数为:%d\n",da);
printf("他们的最小公倍数为:%d\n",xi);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yypopo19
2017-07-13 · TA获得超过158个赞
知道小有建树答主
回答量:87
采纳率:100%
帮助的人:55.2万
展开全部
#include<stdio.h>
void main()
{
int i,m, n;
    scanf("%d %d", &m, &n);
for(i=m; ; i++)
if(i%m==0&&i%n==0) { printf("最小公倍数=%d\n", i); break;}
for(i=m; i>=1 ; i--)
if(m%i==0&&n%i==0)  { printf("最大公约数=%d", i); break;}
getchar();

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式