#include <stdioh>
#include <stdlibh>
int main()
{
int a,b,c,d,e,x,y;
printf("please input two numbers:\n");
scanf("%d %d",&a,&b);
x=a;
y=b;
if (a==0)
printf ("%d 0\n",b);
else if (b==0)
printf ("%d 0\n",a);
else if (a==b)
printf ("%d %d\n",a,b);
else
{
do
{
if (a < b)
{
c=b;
b=a;
a=c;
}
d = a - b;
if (d == b)
{
printf ("%d ",d);
break;
}
a = b;
b = d;
}
while (d > 0);
e=yx/d;
printf ("%d\n",e);
}
return 0;
}
这样就行了,其实这里的主要问题在于if (d == b)
{
printf ("%d ",d);
}
这时候找到了就要break,这样就好了。另外我想说一下,你的代码风格不好,注意对称对齐,不要用多余的{}号。我这里输入的格式是,如1 2;两个数之间有个空格。有问题再找我吧。。。。
以上就是关于C语言 更相减损术求最大公约数和 最小公倍数 急死啦 一天做不出一个题全部的内容,包括:C语言 更相减损术求最大公约数和 最小公倍数 急死啦 一天做不出一个题、、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)