为了账号安全,请及时绑定邮箱和手机立即绑定

最大公约数和最小公倍数哪里错,谢大神

最大公约数和最小公倍数哪里错,谢大神

C
liangmin 2015-11-18 19:21:39
 #include<stdio.h>int main(){  int max(int m,int n);   int min(int m,int n,int p );   int m,n,p,q;   scanf("%d%d",&m,&n);   p=max(m,n);   printf("最大公约数是%d\n",p);   q=min(m,n,p);   printf("最小公倍数是%d\n",q); return 0;} int max(int m,int n){ int t,z; if(n>m) {  t=n;n=m;m=t; }   while((z=m%n)!=0)   {    m=n; n=z;     }} int min(int m,int n,int p){return((m*n)/p);}
查看完整描述

1 回答

?
denmushi

TA贡献9条经验 获得超0个赞

你这个问题非常多啊。子函数算法我没看,首先函数声明要在主函数外部,写在全局,其次,你的max函数没有写返回值,还有,求最小公倍数的函数不要传入3个参数,只要传入两个就行,虽然你这样写也可以实现,但是不符合函数设计低耦合的原则,你可以在最小公倍数函数中调用最大公约数函数来解决,结果是一样的。

查看完整回答
反对 回复 2015-11-18
  • 1 回答
  • 0 关注
  • 1170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信