编写函数实现,输入两个整数m和n,求最大公约数和最小公倍数,c语言
答案:6 悬赏:80 手机版
解决时间 2021-04-19 16:08
- 提问者网友:且恨且铭记
- 2021-04-18 23:16
编写函数实现,输入两个整数m和n,求最大公约数和最小公倍数,c语言
最佳答案
- 五星知识达人网友:青尢
- 2021-04-19 00:39
#include
main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
p=n*m;
if(n {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 {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 {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);
main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
p=n*m;
if(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
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
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);
全部回答
- 1楼网友:雾月
- 2021-04-19 04:49
# include "stdio.h"
int main()
{
int m,n,a,b,sum,t;
scanf("%d %d",&m,&n);
if(n>m)
{
t=n;n=m;m=t;
}
sum=n*m;
while(n!=0)
{
t=m%n;m=n;n=t;
}
printf("最大公约数:%d 最小公倍数为:%d ",m,sum/m);
}
自己写的,望采纳哦
int main()
{
int m,n,a,b,sum,t;
scanf("%d %d",&m,&n);
if(n>m)
{
t=n;n=m;m=t;
}
sum=n*m;
while(n!=0)
{
t=m%n;m=n;n=t;
}
printf("最大公约数:%d 最小公倍数为:%d ",m,sum/m);
}
自己写的,望采纳哦
- 2楼网友:你可爱的野爹
- 2021-04-19 04:35
#include
main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
p=n*m;
if(n {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);
}
main()
{
int p,r,n,m,temp;
printf("请输入两个正整数n,m"); //这个地方运行时要注意,两个数字之间要用“,”割开。
scanf("%d,%d",&n,&m);
p=n*m;
if(n
n=m;
m=temp;
}
while(m!=0)
{
r=n%m;
n=m;
m=r;
}
printf("它们的最大公约数为:%d\n",n);
printf("他们的最小公倍数为:%d\n",p/n);
}
- 3楼网友:想偏头吻你
- 2021-04-19 03:36
简单的想法设两数为a、b(a>b),求a和b最大公约数(a,b)的步骤如下:用b除a,得a÷b=q......r1(0≤r1)。若r1=0,则(a,b)=b;若r1≠0,则再用r1除b,得b÷r1=q......r2 (0≤r2).若r2=0,则(a,b)=r1,若r2≠0,则继续用r2除r1,……如此下去,直到能整除为止。其最后一个非零除数即为(a,b)。
- 4楼网友:西岸风
- 2021-04-19 02:23
# include
void main(){
int m,n,c,x,y;
printf("请输入两个正整数,用逗号间隔:");
scanf("%d,%d",&m,&n);
x=m;
y=n;
if (m c=m;
m=n;
m=c;
}
while (n!=0){
c=m;
m=n;
n=c%n;
}
c=x*y/m;
printf("最大公约数为%d,最小公倍数为%d\n",m,c);
}
void main(){
int m,n,c,x,y;
printf("请输入两个正整数,用逗号间隔:");
scanf("%d,%d",&m,&n);
x=m;
y=n;
if (m
m=n;
m=c;
}
while (n!=0){
c=m;
m=n;
n=c%n;
}
c=x*y/m;
printf("最大公约数为%d,最小公倍数为%d\n",m,c);
}
- 5楼网友:人间朝暮
- 2021-04-19 02:16
#include
void main()
{
int i,m, n;
scanf("%d %d", &m, &n);
for(i=m; ; i++)
if(i%m==0&&i%n==0) { printf("最小公倍数=%d ", i); break;}
for(i=m; i>=1 ; i--)
if(m%i==0&&n%i==0) { printf("最大公约数=%d", i); break;}
getchar();
}
void main()
{
int i,m, n;
scanf("%d %d", &m, &n);
for(i=m; ; i++)
if(i%m==0&&i%n==0) { printf("最小公倍数=%d ", i); break;}
for(i=m; i>=1 ; i--)
if(m%i==0&&n%i==0) { printf("最大公约数=%d", i); break;}
getchar();
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯