题目1489:计算两个矩阵的乘积
时间限制:1 秒
内存限制:128 兆
特殊判题:否
提交:134
解决:25
- 题目描述:
计算两个矩阵的乘积,第一个是2*3,第二个是3*2
- 输入:
输入为两个矩阵,其中一个为2*3的矩阵,另一个为3*2的矩阵
- 输出:
一个2*2的矩阵(每一个数字后都跟一个空格)
- 样例输入:
1 2 33 4 56 78 910 11
- 样例输出:
52 58100 112
- 来源:
- 2012年哈尔滨工业大学计算机研究生机试真题
/********************************* * 日期:2013-3-4* 作者:SJF0115 * 题号: 九度OJ 题目1489:计算两个矩阵的乘积* 来源:http://ac.jobdu.com/problem.php?pid=1489* 结果:AC * 来源:2012年哈尔滨工业大学计算机研究生机试真题* 总结: **********************************/ #include<stdio.h>#include<stdlib.h>#include<string.h>int Matrix[2][3];int Matrix2[3][2];int main () {int i,j,k;int row = 2,col = 3;while(scanf("%d %d %d",&Matrix[0][0],&Matrix[0][1],&Matrix[0][2]) != EOF){int Matrix3[2][2] = {0};//输入第一个矩阵for(i = 1;i < row;i++){for(j = 0;j < col;j++){scanf("%d",&Matrix[i][j]);}}//输入第二个矩阵for(i = 0;i < col;i++){for(j = 0;j < row;j++){scanf("%d",&Matrix2[i][j]);}}//相乘for(i = 0;i < row;i++){for(j = 0;j < row;j++){for(k = 0;k < col;k++){Matrix3[i][j] += Matrix[i][k] * Matrix2[k][j];}}}//输出for(i = 0;i < row;i++){for(j = 0;j < row;j++){printf("%d ",Matrix3[i][j]);}printf("\n");}} return 0;}