描述
如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。
矩阵的大小不超过100*100
输入描述:
第一行包含一个正整数x,代表第一个矩阵的行数
第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数
第三行包含一个正整数z,代表第二个矩阵的列数
之后x行,每行y个整数,代表第一个矩阵的值
之后y行,每行z个整数,代表第二个矩阵的值
输出描述:
对于每组输入数据,输出x行,每行z个整数,代表两个矩阵相乘的结果
示例1
输入:
2 3 2 1 2 3 3 2 1 1 2 2 1 3 3
输出:
14 13 10 11
说明:
1 2 3 3 2 1 乘以 1 2 2 1 3 3 等于 14 13 10 11
#include <stdio.h>
#define N 100
int main()
{
int a[N][N],b[N][N],res[N][N]={0},x,y,z,i,j,k;
scanf("%d%d%d",&x,&y,&z);
for(i=0;i<x;i++)
for(j=0;j<y;j++)
scanf("%d",&a[i][j]);
for(i=0;i<y;i++)
for(j=0;j<z;j++)
scanf("%d",&b[i][j]);
for(i=0;i<x;i++)
for(j=0;j<z;j++)
for(k=0;k<y;k++)
res[i][j]+=a[i][k]*b[k][j];
for(i=0;i<x;i++)
{
for(j=0;j<z;j++)
printf("%d ",res[i][j]);
printf("\n");
}
return 0;
}