C语言中定义全局变量来求最大公约数和最小公倍数,但我看不出我的程序错在哪了,求大神帮助!!

如题所述

求最大公约数的时候,你在找到能整除x和y的i值之后,没有把循环中断掉,循环会一直进行直到i变为0为止,所以最大公约数变成了1
应当在if(x%i==0 && y%i==0)的分支处,将GCD指定为i之后,写上break中断,并将这两句括在大括号里
温馨提示:内容为网友见解,仅供参考
无其他回答

c语言全局变量求最大公约数和最小公倍数
printf("最大公因数为:%d,最小公倍数为%d\\n",gys,gbs);}

C语言求最大公约数和最小公倍数代码运行出错
b=r1q2+r2 如果余数r2=0,那么r1就是所求的最大公约数3。因为如果b=r1q2+r2变成了b=r1q2,那么b1r1的公约数就一定是a1b的公约数。这是因为一个数能同时除尽b和r1,那么由a=b * q1+r1,就一定能整除a,从而也是a1b的公约数。反过来,如果一个数d,能同时整除a1b,那么由1)式...

c语言最大公约数和最小公倍数
gy); printf("最小公倍数:%d\\n",gb); return 0;}int yue(int m,int n){ int l; l=m%n;

如何用C语言求三个数的最大公约数和最小公倍数
首先,定义三个整数变量i、j和k,分别输入这三个数。然后,计算最大公约数,使用 `common_divisor()` 函数。该函数接受三个整数作为参数,并通过循环找到它们的最大公约数。这个函数的实现使用了一个for循环,从大到小检查每个数是否能整除三个输入数。当找到一个能整除所有输入数的最大数时,将其...

C语言中如何调用函数求最大公约数和最小公倍数
不然输出结果错误 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);} ...

C语音求最大公约数和最小公倍数的问题
当你输入的n小于m的时候就有可能出错 若去掉这段代码:当 n=2,m=3 时,输出结果为 :最大公约数为3,最小公倍数为2(源程序"是最小公约数"应该写成最小公倍数)而没去掉这段代码 当n=2,m=3 时,输出结果为:最大公约数为1,最小公倍数为6 ;(这个才是正确的结果)...

c语言求最大公约数,最小公倍数 的流程图
\/\/这里求最大公约数用了欧几里德算法,你自己上网查查吧,数论书里也有。\/\/最小公倍数=a\/最大公约数*b,数论书上也有证明 include<stdio.h> int gcd(int a,int b){return a%b?gcd(b,a%b):b;} int main(){ int a,b,gcd_,lcm_;scanf("%d%d",&a,&b);gcd_=gcd(a,b);lcm_=...

C语言——求最大公约数和最小公倍数的简单程序
本文讲解一下利用C语言求两个数字的最大公约数以及最小公倍数的方法。首先打开编译器,这里用的是VC++6.0,然后新建工程,选择下方的控制台应用程序,也就是“win32 console application”。然后新建一个文件,选择“C++ source file”,然后输入文件名,点击确定。接着输入如图所示的代码,注意检查看有...

c语言这段求最小公倍数最大公约数的代码为什么会运行错误呢
scanf_s("%d%d", &c, &d);改为 scanf("%d%d", &c, &d);还有 你求最大公约数的方法也不对啊

C语言中 用函数调用求最大公约数和最小公倍数
\/\/求最大公约数和最小公倍数 \/\/递归求最小公倍数 int f(int m,int n){ return (n >0)? f(m,m%n):m;} \/ int main(void){ int m,n,a;int f(int m,int n);printf("please input two numbles:");scanf("%d,%d",&m,&n);printf("the max is %d\\n",f(m,n));\/\/...

相似回答