如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。
矩阵的大小不超过100*100
输入描述:
输入包含多组数据,每组数据包含:
第一行包含一个正整数x,代表第一个矩阵的行数
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
输出描述:
对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
示例:
输入
2
3
2
1 2 3
3 2 1
1 2
2 1
3 3
输出
14 13
10 11
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
while (scan.hasNextInt()) {
int x = scan.nextInt();
int y = scan.nextInt();
int z = scan.nextInt();
int[][] arr1 = new int[x][y];
int[][] arr2 = new int[y][z];
for (int i = 0; i < x; i++) {
for (int j = 0; j < y; j++) {
arr1[i][j] = scan.nextInt();
}
}
for (int i = 0; i < y; i++) {
for (int j = 0; j < z; j++) {
arr2[i][j] = scan.nextInt();
}
}
for (int i = 0; i < x; i++) {
for (int j = 0; j < z; j++) {
int num = 0;
for (int k = 0; k < y; k++) {
//arr1第i行的y个元素 分别与 arr2第j列的y个元素 相乘
num += arr1[i][k] * arr2[k][j];
}
System.out.print(num + " ");
}
System.out.println();
}
}
}
}