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

来源:百度知道 编辑:UC知道 时间:2024/09/24 03:34:15
#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 i, int j)
{
int v[2] = {i, j};
int iBig = v[0] > v[1] ? 0 : 1;
int iNext = 1 - iBig;
while (v[iNext] != 0)
{
v[iBig] = v[iBig] % v[iNext];
iBig = iNext;
iNext = 1 - iBig;
}
return v[iBig];
}

int lcm(int i, int j)
{
return i * j / gcd(i, j);
}

int main(int argc, char *argv[])
{
int i = 0, j = 0;
scanf("%d %d", &i, &j);
printf("最大公约数:%d\n最小公倍数%d\n", gcd(i, j), lcm(i, j));
}

int J,M,c;
J=num1*num2;
M=J/c;

c=?