编写函数,分别求两个整数的最大公约数和最小公倍数。

编写适当的main()函数,在main()函数中输入两个整数,调用上述的函数,显示最大公约数和最小公倍数。提示:例如求a,b的最大公约数,算法为将较大的数放在变量a中,较... 编写适当的main( )函数,在main( )函数中输入两个整数,调用上述的函数,显示最大公约数和最小公倍数。
提示:例如求a,b的最大公约数,算法为将较大的数放在变量a中,较小的数放在b中,然后求a除以b的余数r,如果r为0,则除数b即为最大公约数;否则,将b存入a,将r存入b,反复求a和b的余数,直到余数为0.。求得了最大公约数,最小公倍数等于原数a和b的成绩再除以最大公约数的商。

PS:我的第三行和第十一行大括号有问题

#include<stdio.h>
fun(int x,int y);
{if(x>y)
{x=x;y=y;}
else {r=x;x=y;y=r};
r=x%y;
while(r!=0)
{x=y,y=r;
r=x%y;}
return(y);
}
main()
{int a,b;
int c,d,;
scanf("%d,%d",&a,&b);
c=fun(a,b);
d=a*b/c;
printf("%d",d);
}

多谢

VC++6.0的程序
展开
 我来答
百度网友a5eb3e1
2015-05-18 · TA获得超过4447个赞
知道大有可为答主
回答量:3486
采纳率:60%
帮助的人:2620万
展开全部
/* 最大公约数 */
int gcd(int a, int b)
{
  int r;
  while (b != 0)
  {
    r = a % b;
    a = b;
    b = r;
  }
  return a;
}

/* 最小公倍数 */
int lcm(int a, int b)
{
  return a / gcd(a, b) * b;
}
呐谁ni在哪里
2011-04-27
知道答主
回答量:16
采纳率:0%
帮助的人:10.8万
展开全部
#include<stdio.h>
fun(int x,int y);//这里多了分号
{if(x>y)
{x=x;y=y;}
else {r=x;x=y;y=r};//没有定义r
r=x%y;
while(r!=0)
{x=y,y=r;
r=x%y;}
return(y);
}
main()
{int a,b;
int c,d,;//这里多了个逗号
scanf("%d,%d",&a,&b);
c=fun(a,b);
d=a*b/c;
printf("%d",d);//输出应该有两个吧!
}
能力有限,完整程序不会写,希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangxueshuai1
2011-04-27 · TA获得超过226个赞
知道答主
回答量:125
采纳率:0%
帮助的人:0
展开全部
#include<stdio.h>
fun(int x,int y);
{if(x>y)
{x=x;y=y;}
else {r=x;x=y;y=r};//没有定义r
r=x%y;
while(r!=0)
{x=y,y=r;
r=x%y;}
return(y);
}
main()
{int a,b;
int c,d,;//这里多了个逗号
scanf("%d,%d",&a,&b);
c=fun(a,b);
d=a*b/c;
printf("%d",d);
}
希望对你有所帮助
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
披着凉皮的狼~e62f4f
2011-05-03 · 超过18用户采纳过TA的回答
知道答主
回答量:94
采纳率:0%
帮助的人:53.4万
展开全部
int gcd(int x,int y)//function of 最大公约;
{
long int z;
if(x%y==0)
z=y;
else
z=gcd(y,x%y);
return z;
}
int max(int x,int y,int w)//function of 最小公倍;
{
int z;
if(w%x==0&&w%y==0)
z=w;
else
z=max(x,y,w+1);
return z;
}

用的递归
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ggg12345ggggg
2011-04-27
知道答主
回答量:26
采纳率:0%
帮助的人:24.8万
展开全部
完整程序如下:
#include<stdio.h>

fun(int x,int y)
{int r;
if(x>y)
{x=x;y=y;}
r=x;
x=y;
y=r;
r=x%y;
while(r!=0)
{
x=y;
y=r;
r=x%y;
}
return(y);
}
void main()
{
int a,b;
int c,d;
scanf("%d,%d",&a,&b);
c=fun(a,b);
d=a*b/c;
printf("%d,%d",c,d);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式