计算两个正整数的最大公约数。请按以下给定的函数原型编程: int MaxCommonFactor( int a, int b);

返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是-1。参数:a,b是两个整型数输入要求:%d,%d输出要求:详见输出样例输入输出样例:InputSa... 返回值:返回的是最大公约数;若输入的数据有任意一个不满足条件,返回值是

-1。

参数:a,b是两个整型数

输入要求: %d,%d

输出要求: 详见输出样例

输入输出样例:

Input Sample1:

2,3
Output Sample1:

1

Input Sample2:

-1,3
Output Sample2:

-1

Input Sample3:

2,0
Output Sample3:

-1

Input Sample4:

-1,-2
Output Sample4:

-1
展开
 我来答
sun_siliang
推荐于2017-05-23 · TA获得超过2.6万个赞
知道大有可为答主
回答量:9913
采纳率:100%
帮助的人:4539万
展开全部
#include<stdio.h>
int MaxCommonFactor( int a, int b)
{
int temp;
if(a<=0||b<=0) return -1;
while(b!=0)
{
temp=a%b;
a=b;
b=temp;
}
return a;
}
void main()
{
int num1,num2;
scanf("%d,%d",&num1,&num2);
printf("%d\n",MaxCommonFactor( num1, num2));
}
追问
非常谢谢哈。。。我们老师还要求我们要用int main()   和结尾  return 0;
这个要怎么上去啊?
追答
//主函数改为下面:
int main()
{
int num1,num2;
scanf("%d,%d",&num1,&num2);
printf("%d\n",MaxCommonFactor( num1, num2));
return 0;
}
匿名用户
2012-05-13
展开全部
do
r= a mod b
a=b
b=r
loop until r=0
a为最大公约数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
精遗落在床单上
2012-05-13
知道答主
回答量:1
采纳率:0%
帮助的人:1618
展开全部
7m
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式