C语言求两个数的最大公约数和最小公倍数代码,为啥这里输出最大公约数的会输出两遍,初学者求详细解答

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言求两个数的最大公约数和最小公倍数代码,为啥这里输出最大公约数的会输出两遍,初学者求详细解答相关的知识,希望对你有一定的参考价值。

解惑解惑

最大公约数函数被调用了两次,每次调用都会输出一次,所以是两次。

请点一下采纳按钮,非常感谢。

参考技术A 您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。
#include<stdio.h>
int main()
int a,b,num1,num2,temp;
printf("please input two number:\n");
scanf("%d%d",&num1,&num2);
if(num1<num2)
temp = num1;
num1 = num2;
num2 = temp;

a = num1;
b = num2;
while(b!=0) /*利用辗除法,直到b为0为止*/
temp = a%b;
a=b;
b=temp;
非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!追问

不审题,0分。

参考技术B 因为求最小公倍数时又调用了一次gcd函数。

可以这样改:
去掉main函数中gcd的调用。

以上是关于C语言求两个数的最大公约数和最小公倍数代码,为啥这里输出最大公约数的会输出两遍,初学者求详细解答的主要内容,如果未能解决你的问题,请参考以下文章

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

C语言函数编写,求两个整数的最大公约数和最小公倍数

用python语言求两个数的最大公约数和最小公倍数

求两个数的最大公约数c语言怎么做用while语句

求两个数的最大公约数和最小公倍数 C语言

Python 如何求得两个数的最大公约数