酷代码 AI
菜单
服务商

C++ 实现:从输入到输出,轻松搞定矩阵乘法!

```cpp #include <iostream> using namespace std; const int MAXN = 100; int main() { int n, m, k; cin >> n >> m >> k; int A[MAXN][MAXN], B[MAXN][MAXN], C[MAXN][MAXN]; // 输入矩阵 A for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cin >> A[i][j]; } } // 输入矩阵 B for (int i = 0; i < m; i++) { for (int j = 0; j < k; j++) { cin >> B[i][j]; } } // 计算矩阵 C for (int i = 0; i < n; i++) { for (int j = 0; j < k; j++) { C[i][j] = 0; 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++) { if (j != k - 1) { cout << C[i][j] << " "; } else { cout << C[i][j]; } } cout << endl; } return 0; } ``` 代码解释 1. 输入矩阵阶数:首先读取三个整数 `n`、`m`、`k`,分别表示矩阵 `A` 的行数、列数以及矩阵 `B` 的列数(矩阵 `B` 的行数等于矩阵 `A` 的列数 `m`)。 2. 输入矩阵元素:使用嵌套的 `for` 循环分别读取矩阵 `A` 和矩阵 `B` 的元素。 3. 矩阵乘法计算:通过三重嵌套的 `for` 循环计算矩阵 `C` 的元素。外层两层循环遍历矩阵 `C` 的每一个位置 `(i, j)`,最内层循环根据矩阵乘法规则 `C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + …… +A[i][m-1]*B[m-1][j]` 进行累加计算。 4. 输出矩阵 C:使用嵌套的 `for` 循环输出矩阵 `C` 的元素,每行元素之间用空格分隔,每行最后一个元素后不输出额外空格,每行结束后换行。 ######[AI问答 | 639点数解答 | 2025-12-01 14:07:42]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]