根据用例给出如下问题的C语言代码

【题目内容】
计算两个矩阵的乘积。
【输入形式】
两个二维矩阵
【输出形式】
矩阵的乘积
【测试用例1】
输入:
1 2
1 -1
输出:
3 0
0 3

行列对应值相乘
你这测试用例只输入一个矩阵,是这个矩阵自乘么

#include <stdio.h>
int main() {

    int a[100][100],b[100][100] = {0},n=0,m,i=0,j=0,k;
    while(scanf("%d",&m) != EOF)
    {
        a[i][j] = m;
        if(getchar() == '\n')
        {
            i++;
            j=0;
        }
        else
            j++;
    }
    n=i;
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
        {
            for(k=0;k<n;k++)
                b[i][k] += a[i][j] * a[j][k];
        }
    }
    for(i=0;i<n;i++)
    {
        for(j=0;j<n;j++)
            printf("%-4d",b[i][j]);
        printf("\n");
    }
    return 0;
}

A的行乘以B的列求和就是c[i][j]的值
代码如下:

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>
int main()
{
    int a[2][2], b[2][2];
    int i, j, k;
    int c[2][2] = { 0 };
    //输入矩阵
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
        {
            scanf("%d", &a[i][j]);
            b[i][j] = a[i][j];
        }
    }
   
    //计算c
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
        {
            c[i][j] = 0;
            for (k = 0; k < 2; k++)
                c[i][j] += a[i][k] * b[k][j];
        }
    }
    //输出
    for (i = 0; i < 2; i++)
    {
        for (j = 0; j < 2; j++)
        {
            if (j < 1)
                printf("%d ", c[i][j]);
            else
                printf("%d\n", c[i][j]);
        }
    }
    return 0;
}


您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632