这个程序哪错了?怎么改?

来源:百度知道 编辑:UC知道 时间:2024/07/02 06:41:23
//求最大公约数
#include<iostream>
#include<cstdlib>
using namespace std;
int gcd(int x,int y);
int main()
{
int x,y;
cout<<"Please input two numbers:";
cin>>x>>y;
cout<<gcd(x,y);
return 0;
}
int gcd(int x,int y)
{
x%=y;
{while(x)gcd(y,x)}
return abs(y);
}

#include<iostream>
#include<cstdlib>
using namespace std;
int gcd(int x,int y);
int main()
{
int x,y;
cout<<"Please input two numbers:";
cin>>x>>y;
cout<<gcd(x,y);
return 0;
}

int gcd(int x,int y)
{
if(x%y==0)
return y;
else
return gcd(y,x%y);
}

// 把第二个函数改成:

int gcd(int x,int y)
{
int z;
if(x<y){z=x; x=y; y=z;}
while(z=x%y){
x=y;
y=z;
}
return abs(y);
}