建立一个二维数组,编一个指针为参数的函数,将数1、数2、最大公约数和最小公倍数存在该数组一行中,5次循环

要求:1.键盘输入任意2个整数,编写两个函数,分别求其最大公约数和最小公倍数。
2.计算最小公倍数的函数要调用求最大公约数的函数。
3.建立一个二维数组,编一个指针为参数的函数,将数1、数2、最大公约数和最小公倍数存在该数组一行中,5次循环(5次输入两个整数),将二维数组结果显示在屏幕上。
(能力强的同学可以用动态管理内存的函数建立动态数组,不限定行数为5)

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
#include <stdio.h>
int main() {
    int hcf(int x, int y);
    int lcd(int x, int y);
    int a, b, c, d;
    printf("请输入两个数:");
    scanf("%d%d", &a, &b);
    c = hcf(a, b);
    d = lcd(a, b);
    printf("最大公约数:%d\n最小公倍数:%d\n", c, d);
    return 0;
}
int hcf(int x, int y) {
    int i, z;
    if (x < y) {
        i = x;
        x = y;
        y = i;
    }
    z = x % y;

    while (z) {
        x = y;
        y = z;
        z = x % y;
    }
    return (y);
}
int lcd(int x, int y) {
    int m=x*y;
    y=hcf(x,y);
    int n =  / y;
    return (n);
}