51nod 1137 矩阵乘法

给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。
 
 

输入

第1行:1个数N,表示矩阵的大小(2 <= N <= 100)
第2 - N + 1行,每行N个数,对应M1的1行(0 <= M1[i] <= 1000)
第N + 2 - 2N + 1行,每行N个数,对应M2的1行(0 <= M2[i] <= 1000)

输出

输出共N行,每行N个数,对应M1 * M2的结果的一行。

输入样例

2
1 0
0 1
0 1
1 0

输出样例

0 1
1 0
基础题
代码:
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<algorithm>
#define MAX 101
using namespace std;

int n,m1[MAX][MAX],m2[MAX][MAX],m[MAX][MAX];
int main() {
    scanf("%d",&n);
    for(int i = 0;i < n;i ++) {
        for(int j = 0;j < n;j ++) {
            scanf("%d",&m1[i][j]);
        }
    }
    for(int i = 0;i < n;i ++) {
        for(int j = 0;j < n;j ++) {
            scanf("%d",&m2[i][j]);
        }
    }
    for(int i = 0;i < n;i ++) {
        for(int j = 0;j < n;j ++) {
            for(int k = 0;k < n;k ++) {
                m[i][j] += m1[i][k] * m2[k][j];
            }
            if(j) putchar(' ');
            printf("%d",m[i][j]);
        }
        putchar('
');
    }
}
原文地址:https://www.cnblogs.com/8023spz/p/9993730.html