将两个给定的距阵(3*3)相乘得到另一个距阵并将其打印出来。提示: 要求: 1、从键盘输入两个矩阵,并输出结果矩阵。矩阵的输入输出要求行列对齐。 2、把矩阵相承写成函数形式,在主函数中完成矩阵的输入输出。
时间: 2023-05-10 14:55:32 浏览: 90
好的,让我来回答你的问题。以下是代码实现:
```lua
-- 定义矩阵相乘函数
function matrix_multiply(m1, m2)
local result = {}
for i = 1, #m1 do
result[i] = {}
for j = 1, #m2[1] do
local sum = 0
for k = 1, #m2 do
sum = sum + m1[i][k] * m2[k][j]
end
result[i][j] = sum
end
end
return result
end
-- 输入矩阵
print("请输入第一个矩阵:")
local matrix1 = {}
for i = 1, 3 do
matrix1[i] = {}
for j = 1, 3 do
matrix1[i][j] = io.read("*n")
end
end
print("请输入第二个矩阵:")
local matrix2 = {}
for i = 1, 3 do
matrix2[i] = {}
for j = 1, 3 do
matrix2[i][j] = io.read("*n")
end
end
-- 计算矩阵乘积
local result_matrix = matrix_multiply(matrix1, matrix2)
-- 输出结果矩阵
print("矩阵相乘的结果为:")
for i = 1, 3 do
for j = 1, 3 do
io.write(result_matrix[i][j], " ")
end
io.write("\n")
end
```
希望这个代码能够帮到你!