c语言编程中关于数组和循环的疑惑

请问如何利用数组和循环进行计算机的输出
比如以下实例
使用循环语句在屏幕上打印“九九乘法表”。
⑴ 在第1行输出4个空格,以及标题:“九九乘法表”。
⑵ 每个算式的乘数小数在前,大数在后(例如:4 × 8 = 32)。
⑶ 每个算式的乘数与积的域宽为2,左对齐;每个算式结尾有2个额外空格。
⑷ 每个算式的积存放在二维数组array中。

乘数小数在前、大数在后又该怎么操作?
以及最后的输出结果究竟是算式还是乘积?

参考下

#include <stdio.h>
#define ROWS 9
#define COLS 9

int main() {
    int array[ROWS][COLS];
    int i, j;
    
    // 计算乘积并将结果存入二维数组中
    for (i = 0; i < ROWS; i++) {
        for (j = 0; j < COLS; j++) {
            array[i][j] = (j + 1) * (i + 1); // 先计算大数*j,再计算小数*i
        }
    }
    
    // 打印九九乘法表
    printf("    九九乘法表\n");
    printf("    ");
    for (i = 1; i <= COLS; i++) {
        printf("%2d ", i);
    }
    printf("\n");
    
    for (i = 0; i < ROWS; i++) {
        printf("%2d  ", i+1);
        for (j = 0; j < COLS; j++) {
            printf("%2d ", array[i][j]);
        }
        printf("\n");
    }
    
    return 0;
}

你看题目要求,每个算式的乘数和积都要输出