Description
计算两个矩阵的乘积,第一个是2*3矩阵,第二个是3*2矩阵,结果为一个2*2矩阵。
Input
输入包含多组数据,先输入一个2*3矩阵,再输入一个3*2矩阵。
Output
输出两个矩阵的乘积。
Sample Input
1 1 1
1 1 1
1 1
1 1
1 1
Sample Output
3 3
3 3
思路
矩阵乘法需再开一个数组用以存储两矩阵相乘后的结果
代码
#include<stdio.h>
#include<string.h>
int g1[5][5],g2[5][5],ans[5][5];
int main()
{
while(~scanf("%d %d %d",&g1[0][0],&g1[0][1],&g1[0][2]))
{
for(int i=1;i<2;i++)
{
for(int j=0;j<3;j++)
{
scanf("%d",&g1[i][j]);
}
}
for(int i=0;i<3;i++)
{
for(int j=0;j<2;j++)
{
scanf("%d",&g2[i][j]);
}
}
memset(ans,0,sizeof(ans));
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
for(int k=0;k<3;k++)
{
ans[i][j]+=g1[i][k]*g2[k][j];
}
}
}
for(int i=0;i<2;i++)
{
for(int j=0;j<2;j++)
{
if(j==0)
printf("%d",ans[i][j]);
else
printf(" %d",ans[i][j]);
}
printf("\n");
}
}
return 0;
}
本文详细介绍了一个2*3矩阵与一个3*2矩阵相乘的过程,最终得到一个2*2矩阵的结果。通过C语言代码实现矩阵乘法,展示了如何读取输入矩阵、计算乘积并输出结果。
488

被折叠的 条评论
为什么被折叠?



