1 条题解
-
0
代码思路:
- 先读入三个整数n、m、k,分别表示矩阵A的行数和列数、矩阵B的列数,也就是A是n行m列的矩阵,B是m行k列的矩阵。
- 定义一个二维数组A,读入A矩阵的所有元素。
- 定义一个二维数组B,读入B矩阵的所有元素。
- 定义一个二维数组C,并将其所有元素初始化为0,用来存放A矩阵和B矩阵的乘积。
- 计算A矩阵和B矩阵的乘积,将结果存放在C矩阵中。
- 输出C矩阵的所有元素。
在计算A矩阵和B矩阵的乘积时,需要使用三层循环,分别遍历A矩阵的每一行和B矩阵的每一列,并将结果累加到C矩阵中。
最后,输出C矩阵的所有元素即可。
#include <iostream> using namespace std; int main() { int n, m, k; cin >> n >> m >> k; // 定义矩阵A int A[100][100]; for(int i = 0; i < n; i++) { for(int j = 0; j < m; j++) { cin >> A[i][j]; } } // 定义矩阵B int B[100][100]; for(int i = 0; i < m; i++) { for(int j = 0; j < k; j++) { cin >> B[i][j]; } } // 定义矩阵C int C[100][100] = {0}; // 计算矩阵乘法 for(int i = 0; i < n; i++) { for(int j = 0; j < k; j++) { for(int p = 0; p < m; p++) { C[i][j] += A[i][p] * B[p][j]; } } } // 输出矩阵C for(int i = 0; i < n; i++) { for(int j = 0; j < k; j++) { cout << C[i][j] << " "; } cout << endl; } return 0; }
- 1
信息
- ID
- 250
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- (无)
- 递交数
- 2
- 已通过
- 1
- 上传者