怎样用C语言求两个数的最大公约数

比较简单的程序,求能看懂,谢谢... 比较简单的程序,求能看懂,谢谢 展开
 我来答
给我七世等待5
2019-04-27 · TA获得超过607个赞
知道小有建树答主
回答量:1074
采纳率:76%
帮助的人:111万
展开全部
#include<stdio.h>
int main()
{
int m, n, temp, i;
printf("Input m & n:");
scanf("%d%d", &m, &n);
if(m<n)  /*比较大小,使得m中存储大数,n中存储小数*/
{ /*交换m和n的值*/
temp=m;
m=n;
n=temp;
}
for(i=n; i>0; i--)  /*按照从大到小的顺序寻找满足条件的自然数*/
if(m%i==0 && n%i==0)
{/*输出满足条件的自然数并结束循环*/
printf("The GCD of %d and %d is: %d\n", m, n, i);
break;
}

return 0;
}
追问
循环改成递增该怎么改啊
雪上星月
2012-06-15 · TA获得超过143个赞
知道答主
回答量:50
采纳率:0%
帮助的人:20.1万
展开全部
#include<stdio.h>
int main()
{
int i,a,b,t;
scanf("%d%d",&a,&b);//输入数a,b
if(a>b)//比较a,b大小,如果a>b则交换,结果为a<b
{
t=a;
a=b;
b=t;
}
for (i = a; i >= 2; i--)//以较小的a为基数,每次i减小1循环求最大公约数
{
if (a % i == 0 && b % i == 0)//如果两数均能整除某数则该数为最大公约数
{
printf("最大公约数是:%d\n",i);
break;//已得到最大公约数后跳出循环
}
}
if(i==1)//若循环到最后仍无最大公约数则i=1
printf("两数只能同时被1整除!\n");
return 0;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式