【题目链接】
ybt 1125:矩阵乘法
OpenJudge NOI 1.8 09:矩阵乘法
【题目考点】
1. 二维数组遍历
【题解代码】
解法1:
#include<bits/stdc++.h>
using namespace std;
#define N 105
int main()
{int m, n, k, a[N][N], b[N][N], r[N][N] = {};//r初始化为0cin >> n >> m >> k;for(int i = 1; i <= n; ++i)//输入n*m矩阵afor(int j = 1; j <= m; ++j)cin >> a[i][j];for(int i = 1; i <= m; ++i)//输入m*k矩阵bfor(int j = 1; j <= k; ++j)cin >> b[i][j];for(int i = 1; i <= n; ++i)//结果矩阵r为n行k列,求r每一个元素的值for(int j = 1; j <= k; ++j)for(int x = 1; x <= m; ++x)//公式:r[i][j] = a[i][1]*b[1][j] + a[i][2]*b[2][j] + ... + a[i][m] * b[m][j]r[i][j] += a[i][x] * b[x][j];for(int i = 1; i <= n; ++i)//结果矩阵r为n行k列{for(int j = 1; j <= k; ++j)cout << r[i][j] << ' ';cout << endl;}return 0;
}