用rand函数随机产生一个3×4和4×3的矩阵并计算他们的乘积

最不会的就是这种,完全不知道怎么下手
用rand函数随机产生一个3×4和4×3的矩阵并计算他们的乘积

供参考:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define M 4  
#define N 3 
int main()
{
    int a[N][M], b[M][N], c[N][N] = { 0 };
    int i, j, k;
    srand((unsigned int)time(NULL));
    
    printf("\n%d行%d列矩阵a[%d][%d]:\n", N, M, N, M);
    for (i = 0; i < N; i++) {
        for (j = 0; j < M; j++) {
            a[i][j] = rand() % 10 + 1;
            printf("%d\t", a[i][j]); 
        }
        printf("\n");
    }

    printf("\n--------*---------\n");
    printf("--------*---------\n");

    printf("\n%d行%d列矩阵b[%d][%d]:\n", M, N, M, N);
    for (i = 0; i < M; i++) {
        for (j = 0; j < N; j++) {
            b[i][j] = rand() % 10 + 1;
            printf("%d\t", b[i][j]);
        }
        printf("\n");
    }

    for (i = 0; i < N; i++)
        for (j = 0; j < N; j++)
            for (k = 0; k < M; k++)
                c[i][j] += a[i][k] * b[k][j];//两矩阵相乘结果存入矩阵 C[][]

    printf("\n两矩阵相乘得到新矩阵c[%d][%d]:\n", N, N);
    for (i = 0; i < N; i++) {
        for (j = 0; j < N; j++)
            printf("%d\t", c[i][j]);
        printf("\n");
    }
    return 0;
}

你可能不会的就是不知道如何使用rand函数吧,首先构建随机数种子,然后定义二维数组,进行随机赋值,看你想随机数的范围。大概思路就是这样,我没带电脑,如果还是不会,可以私聊问我。