帮忙看看这个C语言程序怎么错了?

来源:百度知道 编辑:UC知道 时间:2024/05/11 13:06:24
#include<stdio.h>
GCD(int num);
LCM(int num);
main()
{
int num1,num2;
printf("please input two integers:\n");
scanf("%d,%d",num1,num2);
GCD(num1,num2);
LCM(num1,num2);
return 0;
}
GCD(num1,num2)
{
int m,t,c;
if(num2>num1)
{
t=num2;
num2=num1;
num2=t;
}
while((m=num1%num2)!=0)
{
num1=num2;
num2=m;
}
c=num2;
printf("The maximum common divisor is:%d",c);
}
LCM(num1,num2)
{
int J,M,c;
J=num1*num2;
M=J/c;
printf("The minimum common multiple is:%d",M);
}
求最大公约数和最小公倍数

#include <stdio.h>

int GCD(int num1,int num2);//传递参数数目与定义一致
int LCM(int num1,int num2);

int main()
{
int num1,num2;
printf("please input two integers:\n");
scanf("%d,%d",&num1,&num2);//输入需传入变量地址
//因为LCM还需要调用GCD的值,所以可能会出现重复打印GCD。方案一,掉取出来打印。方案二,c设为全局变量。不再调用。会恢复原来方式。
printf("The maximum common divisor is: %d\n",GCD(num1,num2));//结束最好有\n哦
printf("The minimum common multiple is:%d\n",LCM(num1,num2));//结束最好有\n哦
return 0;
}
int GCD(int num1,int num2)//参数传递类型不能落下
{
int m,t,c;
if(num2>num1)
{
t=num2;
num2=num1;
num2=t;
}
while((m=num1%num2)!=0)
{
num1=num2;
num2=m;
}
c=num2;

return c;
}
int LCM(int num1,int num2)//参数传递类型不能落下
{
int J,M,c=GCD(num1,num2);
J=num1*num2;
M=J/c;
return M;
}

没看完