怀柔区琉璃庙镇:这个求最大公约数的例子哪里出错了?

来源:百度文库 编辑:神马品牌网 时间:2024/04/29 22:05:24
这个例子,找了好久,始终没找出问题,麻烦高手过来看下,
#include<iostream>
using namespace std;
int main()
{int HCF(int,int);
int u,v;

cout<<"请输入2个整数:";
cin>>u>>v;

cout<<"输出最大公约数HCF:"<<HCF(u,v)<<endl;

rerturn 0;}

int HCF(int u,int v)
{int t,r;
if(u<v){t=u;u=v;v=t;}
while((r=u%v)!=0){u=v;v=r;}
return(v);}
真马虎,把return写成rerturn

int HCF(int min,int max){
int r,tmp;
if(min>max){
tmp=min;min=max;max=tmp;
}
r = max % min;
if(r!=0) return min;
else return HCF(r,min);
}
看了你的算法,基本上似乎没错,但是不好阅读!可以使用递归方法!

应该没什么错,要说不足的话,最好是输入的字符加容错判断.