#include <iostream> using namespace std; struct matrix { int num[3][3]; int row,col; //行列 }; matrix multiply(matrix x, matrix y) { matrix answer; answer.row=x.row; answer.col=y.col; for(int i=0; i<answer.row; i++) { for(int j=0; j<answer.col; j++) { answer.num[i][j]=0; for(int k=0; k<x.col; k++) //注意是小于x的列数 { answer.num[i][j]+=x.num[i][k]*y.num[k][j]; } } } return answer; } int main() { matrix a,b; a.row=2; a.col=3; b.row=3; b.col=2; for(int i=0; i<a.row; i++) { for(int j=0; j<a.col; j++) { cin >> a.num[i][j]; } } for(int i=0; i<b.row; i++) { for(int j=0; j<b.col; j++) { cin >> b.num[i][j]; } } matrix answer = multiply(a,b); for(int i=0; i<2; i++) { for(int j=0; j<2; j++) { cout << answer.num[i][j] << ' '; } cout << endl; } }