中易网

请设计一个函数MaxCommonFactor()它们的功能是:用于求两个正整数的最大公约数

答案:2  悬赏:70  
解决时间 2021-02-21 04:30
求大神们看下这段程序问题出在哪里,编译调试过,但是输不出结果。



#include
int max(int a,int b)
{
int c;
if(a>b)c=a;
else c=b;
return (c);
}
int min(int a,int b)
{
int c;
if(a else c=b;
return (c);
}
int MAXCommonFactor(int n,int m)
{
int x,y;
x=max(m,n);
y=min(m,n);
while(x)
{ x=x-y;
x=max(x,y);
y=min(x,y);
}return y;
}
void main()
{
int j,k;
printf("please input two number:\n");
scanf("%d,%d",&j,&k);
printf("%d\n",MAXCommonFactor(j,k));
}
谢谢大家 中午我修改了一下程序,现已解决问题
程序如下:
#include
int MAXCommonFactor(int n,int m)
{
int x,y,p,q;
x=(m>n)?m:n;
y=(m while(y!=0)
{ p=x-y;
q=y;
x=(p>q)?p:q;
y=(p }
return x;
}
void main()
{
int j,k;
printf("please input two number:\n");
scanf("%d,%d",&j,&k);
printf("%d\n",MAXCommonFactor(j,k));
}
最佳答案
while循环内部,应该使用另外两个变量来保存临时值,否则计算出的x,y永远相等
全部回答
#include int maxcommonfactor(int n,int m) { int i,a; for(i=(n=1;i--) { if(n%i==0&&m%i==0) { a=i; break; return a; } } } main() { int n,m; scanf("%d,%d",&n,&m); printf("%d\n",maxcommonfactor(n,m)); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
中国邮政(新西路邮政所)怎么去啊,有知道地址
STM32 TIM1的COM事件如何产生
黑裤子配白皮带好看吗?
怎么看是不是非球面镜片呢?
振兴书画地址有知道的么?有点事想过去
写秋天作文教案
蝎子和蜘蛛,哪个当宠物比较好?
爱宝动物诊所地址在哪,我要去那里办事
怀孕后没上班了,深户,自己交社保能办生育险
长沙易信成科技有限公司怎么样
被当备胎怎么办
赤峰红山区公安局的电话
企业形象策划方案
扬州市天宇机电设备有限公司在哪里啊,我有事
同位语和后置定语求区分
推荐资讯
lol生日有没有勇敢的心德莱厄斯
买了一套自然堂护肤品七百多块感觉好贵
作业帮问考研数学题目怎么问。为什么必须让我
苹果6恢复出厂设置卡住了怎么办
怎么安慰失恋的女孩
世界面界十大国家排名
郭嘉是不是很风流
请问开个小饭店,后厨需要几个人?都是做什么
红甲餐馆怎么去啊,有知道地址的么
夫妻保健24小时自助无人售货怎么去啊,有知道
《西游记序曲》开头有几个噔?(也就是西游记
amp格式的文件要用什么打开呢?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?