#include <iostream> using namespace std; const int N = 110; int X1[N][N],X2[N][N],res[N][N]; int main() { int x,y,z;cin>>x>>y>>z; for(int i = 1;i<=x;i++){ for(int j = 1;j<=y;j++){ cin>>X1[i][j]; } } for(int i = 1;i<=y;i++){ for(int j = 1;j<=z;j++){ cin>>X2[i][j]; } } for(int i = 1;i<=x;i++){ for(int j = 1;j<=z;j++){ for(int k = 1;k<=y;k++){ res[i][j]+=(X1[i][k]*X2[k][j]); } } } for(int i = 1;i<=x;i++){ for(int j = 1;j<=z;j++){ cout<<res[i][j]<<' '; } cout<<'\n'; } return 0; } // 64 位输出请用 printf("%lld")
模拟矩阵乘法即可,用一行的数据和另一个的矩阵的一列的值相乘求和,最后输出即可。