编写了一个求最大公约数和最小公倍数的程序,运行的时候总提示软件停止工作,是我编的程序错了吗
程序如下:#include<stdio.h>
int gcd(int,int);
int lcm(int,int);
int main(){
int i,j,k,l,g,h;
printf("请输入两个正整数:");
scanf("%d %d",&i,&j);
if(i<=0||j<=0){
printf("你输入的数不合要求");
}
else{
g=gcd(i,j);
h=lcm(k,l);
printf("这两个整数的最大公约数为%d,最小公倍数为%d",g,h);
}
}
int gcd(int a,int b){
int n;
n=a;
if(a>b){
n=b;
}
for( ;n>0;n--){
if(a%n==0&&b%n==0){
return n;
}
}
}
int lcm(int d,int e){
int f;
f=d;
if(e>d){
f=e;
}
for( ;f>0;f++){
if(f%d==0&&f%e==0){
return f;
}
}
}