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

如题所述

#include<stdio.h>

int a;

int _Y(int x,int y);

int main()

{

int a,b,c,d;

printf(“请输入数字:”);

scanf("%d,%d",&c,&d);//此处注意在输出的时候数字之间要打都好,不然输出结果错误

b=_Y(c,d);

a=c*d/b;

printf(“最大公约数为:%d\n”,b);

printf(“最小公倍数为:%d\n”,a);

return 0;

}

int _Y(int x,int y)

{

int e;

if(x<y)

{

e=x;

x=y;

y=e;

}

while((e=x%y)!=0)

{

x=y;

y=e;

}

return(y);

}

扩展资料:

while循环开始后,先判断条件是否满足,如果满足就执行循环体内的语句,执行完毕后再回来判断条件是否满足,如此无限重复;直到条件不满足时,执行while循环后边的语句。简单来讲就是说while循环是先判断后循环, 判断如果满足条件进入循环 本次循环后再次判断 。

举个例子:

do-while循环与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执行一次循环语句。 简单来讲就是说while循环是先循环后判断 。

举个例子:

总结:while循环是先判断后循环 ,而do–while循环是先循环后判断。

参考资料:

百度百科——while(循环语句及英文单词)

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-12-11
最大公约数:(辗转相除法)int MaxDenominator(int a,int b){if(a%b==0) return b;return MaxDenominator(b,a%b);}最小公倍数:int MinMultiple(int a,int b){return a*b/MaxDenominator(a,b); //要用到最大公约数算法}
最大公约数:(辗转相除法)int MaxDenominator(int a,int b){if(a%b==0) return b;return MaxDenominator(b,a%b);}最小公倍数:int MinMultiple(int a,int b){return a*b/MaxDenominator(a,b); //要用到最大公约数算法}本回答被网友采纳
第2个回答  2020-12-09

#include<stdio.h>

int gcd(int m,int n)

{return n?gcd(n,m%n):m;

}

int lcm(int m,int n)

{return m*n/gcd(m,n);

}

int main()

{ int a,b;

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

  printf("GCD=%d\nLCM=%d\n",gcd(a,b),lcm(a,b));

  return 0;

}

c语言函数调用求最大公约数和最小公倍数
{ int a,b,c,d;printf(“请输入数字:”);scanf("%d,%d",&c,&d);\/\/此处注意在输出的时候数字之间要打都好,不然输出结果错误 b=_Y(c,d);a=c*d\/b;printf(“最大公约数为:%d\\n”,b);printf(“最小公倍数为:%d\\n”,a);return 0;} int _Y(int x,int y){ int e;if(x<...

C语言 用函数求最大公约数和最小公倍数
最小公倍数:k = m*n\/max(m,n)

C语言中 用函数调用求最大公约数和最小公倍数
scanf("%d,%d",&m,&n);printf("the max is %d\\n",f(m,n));\/\/最大公约数 printf("the min is %d\\n",m*n\/f(m,n));\/\/最小公倍数 system ("pause");return 0;} 参照了百度的gcd,即碾转相除法,是欧几里得的几何原本中的。

C语言用函数求最大公约,最小公约数
int zdgys(int x, int y); \/\/求最大公约数 int zxgbs(int x, int y); \/\/求最小公倍数 int a,b,max,min;scanf("%d %d",&a,&b);max = zdgys(a, b); \/\/求最大公约数 min = zxgbs(a, b); \/\/求最小公倍数 printf("最大公约数为%d,最小公倍数为%d",max,min);ret...

C语言中用两个函数求最大公约数和最小公倍数,用主函数调用这两个函数...
先编写好最大公约数和最小公倍数的函数,如下:intgcd(inta,b)\/\/求最大公约数函数{if(a%b==0)returnb;elsereturngcd(b,a%b);\/\/辗转相除法}intlcm(inta,b)\/\/求最小公约数函数{intx;x:=gcd(a,b);\/\/调用gcd()函数returna

C语言中 用函数调用求最大公约数和最小公倍数
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 (m<n){ t = m;m = n;n = t;} while (n != 0){ t = m%n;m = n;n = t;} return m;} int lcd(int m, int...

c语言怎么求最大公约数和最小公倍数
C语言求最大公约数:对两个正整数a,b如果能在区间[a,0]或[b,0]内能找到一个整数temp能同时被a和b所整除,则temp即为最大公约数。求最小公倍数:对两个正整数a,b,如果若干个a之和或b之和能被b所整除或能被a所整除,则该和数即为所求的最小公倍数。C语言是一门面向过程、抽象化的...

如何用C语言求三个数的最大公约数和最小公倍数
为了回答这个问题,我们编写了一个程序,该程序可以计算三个整数的最大公约数和最小公倍数。程序使用了两个函数,`common_divisor()` 和 `common_multiple()`。首先,定义三个整数变量i、j和k,分别输入这三个数。然后,计算最大公约数,使用 `common_divisor()` 函数。该函数接受三个整数作为参数...

c语言最大公约数最小公倍数
c语言最大公约数最小公倍数如下:从键盘输入两个正整数a和b,求其最大公约数和最小公倍数。算法思想:利用格式输入语句将输入的两个数分别赋给a和b,然后判断a和b的关系,如果a小于b,则利用中间变量t将其互换。再利用辗转相除法求出最大公约数,进而求出最小公倍数。最后用格式输出语句将其...

C语言函数编写,求两个整数的最大公约数和最小公倍数
编写该程序的整体思路:分别定义最大公约数函数和最小公倍数函数,然后再main函数里面调用它。C语言实现代码如下:include<stdio.h> include<math.h> int fun_gy(int,int); \/\/声明最大公约数函数 int fun_gb(int,int); \/\/声明最小公倍数函数 main(){ int a,b,gy,gb;printf("输入两个...

相似回答