首页 > 试题广场 >

计算两个矩阵的乘积

[编程题]计算两个矩阵的乘积
  • 热度指数:11342 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 64M,其他语言128M
  • 算法知识视频讲解
计算两个矩阵的乘积,第一个是2*3,第二个是3*2

输入描述:
输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵


输出描述:
一个2*2的矩阵(每一个数字后都跟一个空格)
示例1

输入

1 2 3
3 4 5
6 7
8 9
10 11

输出

52 58
100 112
#include <stdio.h>
#define ROW 2
#define COL 3
int main() {
    int a[ROW][COL], b[COL][ROW], c[ROW][ROW];
    for (int i = 0; i < ROW; i ++) {
        for (int j = 0; j < COL; j ++) {
            scanf("%d", &a[i][j]);
        }
    }
    for (int i = 0; i < COL; i ++) {
        for (int j = 0; j < ROW; j ++) {
            scanf("%d", &b[i][j]);
        }
    }
    for (int i = 0; i < ROW; i ++) {
        for (int j = 0; j < ROW; j ++) {
            c[i][j] = 0;
            for (int k = 0; k < COL; k ++) {
                c[i][j] += a[i][k]*b[k][j];
            }
        }
    }
    for (int i = 0; i < ROW; i ++) {
        for (int j = 0; j < ROW; j ++) {
            printf("%d ", c[i][j]);
        }
        printf("\n");
    }
    return 0;
}


发表于 2023-03-03 16:40:37 回复(0)
#include<stdio.h>
int main(){
    int i;
    int j;
    int a[2][3];
    int b[3][2];
    int k=0;
    int s=0;
    for(i=0;i<2;i++)
      for(j=0;j<3;j++)
        scanf("%d",&a[i][j]);
    for(i=0;i<3;i++)
      for(j=0;j<2;j++)
         scanf("%d",&b[i][j]);
         
    for(i=0;i<2;i++)
    {    for(j=0;j<2;j++){
            s=0;
          for(k=0;k<3;k++){
          
            s=s+a[i][k]*b[k][j];}
            printf("%d ",s);
            }
    printf("\n");
}

return 0;

发表于 2022-03-10 18:05:21 回复(0)