計算兩個矩陣的乘法。n*m
階的矩陣A
乘以m*k
階的矩陣B
得到的矩陣C
是n*k
階的,且C[i][j] = A[i][0]*B[0][j] + A[i][1]*B[1][j] + …… +A[i][m-1]*B[m-1][j]
(C[i][j]
表示C
矩陣中第i
行第j列元素)。
輸入
第一行爲n
,m
, k
,表示A
矩陣是n
行m
列,B
矩陣是m
行k
列,n
, m
, k
均小於100
然後先後輸入A
和B
兩個矩陣,A
矩陣n
行m
列,B
矩陣m
行k
列,矩陣中每個元素的絕對值不會大於1000
。
輸出
輸出矩陣C
,一共n
行,每行k
個整數,整數之間以一個空格分開。
樣例輸入
3 2 3
1 1
1 1
1 1
1 1 1
1 1 1
樣例輸出
2 2 2
2 2 2
2 2 2
代碼:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
int [][] a = new int [110][110];
int [][] b = new int [110][110];
int [][] c = new int [110][110];
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int m = scanner.nextInt();
int k = scanner.nextInt();
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
a[i][j] = scanner.nextInt();
for (int i = 0; i < m; i++)
for (int j = 0; j < k; j++)
b[i][j] = scanner.nextInt();
scanner.close();
for(int i = 0; i <= n - 1; i++)
for(int j = 0; j <= k; j++)
for(int t = 0; t <= m; t++)
c[i][j] += a[i][t] * b[t][j];
for(int i = 0; i < n ; i++){
for(int j = 0; j < k; j++){
System.out.print(c[i][j] + " ");
}
System.out.println(" ");
}
}
}