#include <iostream>
using namespace std;
int max(int x, int y)
{
int temp;
if (x<y) {temp=x;x=y;y=temp;}
if(y==0) return x;
else
return(y,x%y);
}
int min(int a,int b)
{
int temp2;
if(a<b) {temp2=a;a=b;b=temp2;}
temp2=max(a,b);
return(a*b/temp2);
}
int main()
{
int j,k;
cout<<"请输入两个数"<<endl;
cin>>j>>k;
cout<<"这两个数的最大公约数="<<max(j,k)<<" "<<"这两个数的最小公倍数="<<min(j,k)<<endl;
return 0;
}
编译没有问题,运行出错,求大神指点。<!--<"请输入两个数"<
下面的min函数前也加上就报错了,不加反而可以,可以解释一下吗?
追答哥们儿,要理解程序,不要生搬硬套啊,min里面加哪里?return(a*b/temp2);这里么?
加哪里,语法都不对,参数个数都不对。min里面不需要加啊,最小公倍数本来就是两数的积除以最大公约数,不需要递归求解了啊!