Description
给出m * n阶矩阵A,乘以n * p阶的矩阵B,得到一个m*p阶的矩阵C。矩阵乘法定义如下图所示。
Input
输入分为两部分:第一部分是三个整数m、n和p;后面为两个矩阵,分别是mn阶矩阵A和np阶矩阵B。m、n和p都不会超过100。
Output
输出矩阵C,一共m行k列,整数之间用一个空格分开。
Sample Input
3 2 3
1 1
1 1
1 1
1 1 1
1 1 1
Sample Output
2 2 2
2 2 2
2 2 2
#include<stdio.h>
int main()
{int m,n,p,i,j,k;int array_1[50][50],array_2[50][50],a[50][50]={0};scanf("%d%d%d",&m,&n,&p);for(i=1;i<=m;i++)for(j=1;j<=n;j++)scanf("%d",&array_1[i][j]);for(i=1;i<=n;i++)for(j=1;j<=p;j++)scanf("%d",&array_2[i][j]);for(i=1;i<=m;i++) //矩阵乘法{for(k=1;k<=p;k++){for(j=1;j<=p;j++){a[i][k]+=array_1[i][j]*array_2[j][i];}}}for(i=1;i<=m;i++){for(j=1;j<=p;j++){if(j==1) printf("%d",a[i][j]);else if(j==p) printf(" %d\n",a[i][j]);else printf(" %d",a[i][j]);}}}