关于#c语言#的问题:【输入形式】两个正整数(以空格分隔)【输出形式】最大公约数 最小公倍数(以空格分隔)【样例输入】6 15【样例输出】3 30

【问题描述】写两个函数,分别求两个正整数的最大公约数和最小公倍数,主函数调用这两个函数,并输出结果。两个正整数(a,b<100)由键盘输入。
【输入形式】两个正整数(以空格分隔)
【输出形式】最大公约数 最小公倍数(以空格分隔)
【样例输入】6 15
【样例输出】3 30

#include <stdio.h>
#include <stdlib.h>
int lcm(int a, int b);
int gcd(int a, int b);
int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)==2)
    {
        printf("%d %d\n",gcd(a,b),lcm(a,b));
    }
    return 0;
}

int lcm(int a, int b)
{
        int i;
        for(i=1;i<b;i++)
        {
            if(i*a%b==0)
            return i*a;
        }
        return b*a;
}

int gcd(int a, int b)
{
         int t;
        while(b)
        {
            t=a%b;
            a=b;
            b=t;
        }
        return  a;
}