编译器显示无错误警告,可是运行不了
#include<iostream>
using namespace std; //这段代码实现求两个数的最大公约数与最小公倍数
void Hcf(int x,int y);
void Lcm(int s,int t);
void main()
{
int i,j;
cin>>i>>j;
Hcf(i,j);
Lcm(i,j);
}
int sum; //定义sum为局外变量
void Hcf(int x,int y)
{
int a,b,c,d;
int sum=1;
a=x>y?y:x;
b=2;
while(b<=a)
{
c=x/b;
d=y/b;
if(c==0&&d==0)
{
sum*=b;
x/=b;
y/=b;
}
else
{
break;
}
}
cout<<"最大公约数为"<<sum<<endl;
}
void Lcm(int s,int t)
{
int k;
k=s*t/sum;
cout<<"最小公倍数为"<<k<<endl;
}