c语言编程用辗转相减求最大公约数,使用循环结构,不能算出结果,请帮我看一下这样写哪里错了?

2024-12-04 23:51:24
推荐回答(2个)
回答1:

#include
int gcd(int m, int n)
{
int k;
while(m!=n)
{
if(m>n)
{
k=m-n;
m=n;
n=k;
}
else
{
k=n-m;
m=n;
n=k;
}
}
return m;

}
int main()
{
int m, n;
scanf("%d, %d",&m, &n);
printf("%d\n",gcd(m,n));
return 0;
}

回答2:

#include
int gcd(int m, int n)
{while(n!=m)
{
while(n>m)n-=m;
while(m>n)m-=n;
}
return n;
}

int main()
{
int m, n;
scanf("%d%d",&m, &n);
printf("%d\n",gcd(m,n));
return 0;
}