c#发展

注册

 

发新话题 回复该主题

c语言求两个数的最大公约数练习题 [复制链接]

1#
北京那家医院可以治疗白癜风 https://wapjbk.39.net/yiyuanzaixian/bjzkbdfyy/
#百家帮扶计划#

一、题目

输入两个数,求这两个数的最大公约数

二、思路分析

1、把这两个数同时除以1、2、3、4……

2、能被整除的,取其最大值,即为最大公约数

三、代码图片

四、源代码

#includestdio.h

//输入两个数,求两个数的最大公约数

intmain()

{

intnum1,num2;

printf("请输入两个数:\n");

scanf("%d%d",num1,num2);

zuiDaGongYueShu(num1,num2);

}

zuiDaGongYueShu(intnum1,intnum2)

{

inttemp=0,gongYueShu=0;

//把输入的两个数中较小的一个,赋给变量temp

if(num1num2)

{

temp=num1;

}

else

{

temp=num2;

}

//从temp的值开始,每循环一次,值减1

//到temp值等于1的时候,循环停止

//num1、num2同时除temp,

//若能除尽,则为最大公约数。

//把公约数赋给gongYueShu变量,并打印输出

do

{

if((num1%temp==0)(num2%temp==0))

{

gongYueShu=temp;

break;

}

temp--;//注意:不能放在do上面

}

while(temp!=1);

//temp=1的时候,有特殊情况

if(temp==1)

{

printf("两个数没有公约数");

}

else

{

printf("最大公约数是:%d",temp);

}

}

五、运行结果

分享 转发
TOP
发新话题 回复该主题