c语言最大公约数c的函数 c语言最大公约数求法

编写一个c语言程序 求两个整数的最大公约数

下面给出一个使用C语言实现求两个整数的最大公约数的示例代码:

成都创新互联公司专注于江北网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供江北营销型网站建设,江北网站制作、江北网页设计、江北网站官网定制、微信小程序定制开发服务,打造江北网络公司原创品牌,更为您提供江北网站排名全网营销落地服务。

```c

#include stdio.h

int gcd(int a, int b);

int main() {

int a, b, result;

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

scanf("%d %d", a, b);

result = gcd(a, b);

printf("两个数的最大公约数为:%d", result);

return 0;

}

int gcd(int a, int b) {

if (a % b == 0) {

return b;

}

return gcd(b, a % b);

}

```

在上面的代码中,我们定义了一个`gcd`函数来求两个整数的最大公约数。`gcd`函数使用递归方式来实现辗转相除法求最大公约数。如果a能被b整除,则b就是两个整数的最大公约数。否则,我们就不断将b作为a,将a%b作为b,不断递归求解,直到b能够整除a。

在主函数中,我们首先使用`scanf`函数来读入两个整数,然后用`gcd`函数来求它们的最大公约数,最后输出结果。

需要注意的是,上面的代码中没有对输入的数据进行异常处理。如果用户输入的不是整数类型,程序可能会出现错误。因此,为了保证程序的健壮性,我们还需要添加一些异常处理代码来防止这种情况发生。

C语言中求最大公约数的函数

#include

"stdio.h"

int

main()

{

int

d1,d2,r;

printf("输入两个正整数:");

scanf("%d

%d",d1,d2);

do

{

r=d1%d2;

d1=d2;d2=r;

}while(d2!=0);

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

}

//递归法

#include

"stdio.h"

int

fun(int

d1,int

d2)

{

if(d2!=0)

return

fun(d2,d1%d2);

else

return

d1;

}

int

main()

{

int

d1,d2;

printf("输入两个正整数:");

scanf("%d

%d",d1,d2);

printf("最大公约数是:%d",fun(d1,d2));

}

C语言中 用函数调用求最大公约数和最小公倍数

#includestdio.h

int gcd(int m, int n);

int lcd(int m, int n);

int main()

{

int a, b;

printf("输入两个正整数:");

scanf("%d%d", a, b);

printf("%d 和 %d 最大公约数为%d\n", a, b, gcd(a, b));

printf("最小公倍数为:%d\n", lcd(a, b));

}

int gcd(int m, int n)

{

int t;

if (mn)

{

t = m;

m = n;

n = t;

}

while (n != 0)

{

t = m%n;

m = n;

n = t;

}

return m;

}

int lcd(int m, int n)

{

int t;

t = m*n / gcd(m, n);

return t;

}


网页标题:c语言最大公约数c的函数 c语言最大公约数求法
网页路径:http://ybzwz.com/article/ddoggsi.html