问题 F: 计算两个矩阵的乘积
[命题人 : 外部导入]
时间限制 : 1.000 sec 内存限制 : 32 MB
题目描述
计算两个矩阵的乘积,第一个是23矩阵,第二个是32矩阵,结果为一个2*2矩阵。
输入
输入包含多组数据,先输入一个23矩阵,再输入一个32矩阵。
输出
输出两个矩阵的乘积。
样例输入 Copy
1 1 1
1 1 1
1 1
1 1
1 1
样例输出 Copy
3 3
3 3
经验总结
要根据样例的结果,检查代码出的问题。
AC代码
#include <cstdio>
int main()
{
int str[5][5], ans[5][5], res[5][5], n;
while(scanf("%d", &n) != EOF)
{
str[0][0] = n;
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 3; j++)
{
if(i != 0 || j != 0)
scanf("%d", &str[i][j]);
}
}
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 2; j++)
scanf("%d", &ans[i][j]);
}
for(int k = 0; k < 2; k++)
{
for(int i = 0; i < 2; i++)
{
int sum = 0;
for(int j = 0; j < 3; j++)
{
sum += str[i][j] * ans[j][k];
}
res[i][k] = sum;
}
}
for(int i = 0; i < 2; i++)
{
for(int j = 0; j < 2; j++)
{
printf("%d", res[i][j]);
if(j != 1)
printf(" ");
else
printf("\n");
}
}
}
return 0;
}