输入整数m、p、n,再输入一个m行p列的整数矩阵A和一个p行n列的整数矩阵B,求两个矩阵的乘积AB 输入格式: 测试数据有多组,处理到文件尾。每组测试数据的第一行输入m、p、n(1<m,p,n<10),接下来分别输入A矩阵和B矩阵。 输出格式: 对于每组测试,输出m行,每行n个整数,表示AB的结果,每行中每两个数据之间留一个空格。
时间: 2023-07-15 16:12:42 浏览: 157
从标准输入中输入两组整数(每行不超过20个整数,每组整数中元素不重复),合并两组整数,去掉在两组整数中都出现的整数,并按从大到小顺序排序输出(即两组整数集"异或
以下是 Python 代码实现:
```python
while True:
try:
m, p, n = map(int, input().split())
A = []
for i in range(m):
A.append(list(map(int, input().split())))
B = []
for i in range(p):
B.append(list(map(int, input().split())))
C = [[0] * n for i in range(m)]
for i in range(m):
for j in range(n):
for k in range(p):
C[i][j] += A[i][k] * B[k][j]
for i in range(m):
print(' '.join(map(str, C[i])))
except:
break
```
解释如下:
1. 使用 `while True` 循环,不断读取输入数据,直至文件结尾;
2. 读入矩阵的行列数和元素值;
3. 创建一个空的 `m` 行 `n` 列的矩阵 `C`,用于存储矩阵乘积的结果;
4. 遍历 `A` 矩阵的每一行 `i`、`B` 矩阵的每一列 `j`,以及 `A` 矩阵的每一列 `k`,计算 `C[i][j]` 的值;
5. 输出 `C` 矩阵的每一行。
阅读全文