两个矩阵相乘,其实很简单,但真正写起来,需要你理解其中的细节,公式会被,但程序不一定会写。以此,送给基础薄弱,眼高手低的我们。
#include "stdio.h"
int main(){
int i,j,k;
int matrixC[5][6]={0};
int matrixA[5][4]={1,5,7,3,
3,6,3,9,
1,2,8,7,
0,3,1,9,
3,2,5,4,
};
int matrixB[4][6]={3,9,1,4,1,4,
5,6,7,9,0,3,
3,2,7,2,5,6,
9,7,4,7,8,0,
};
//计算矩阵C中的元素
for(i=0;i<5;i++)
for(j=0;j<6;j++)
for(k=0;k<4;k++)//搞清楚矩阵相乘的意义
matrixC[i][j]+=matrixA[i][k]*matrixB[k][j];
//输出各个矩阵
printf("matrix A is :\n");
for(i=0;i<5;i++)
{
for(j=0;j<4;j++)
printf("%3d ",matrixA[i][j]);
printf("\n");
}
printf("\n");
printf("matrix B is :\n");
for(i=0;i<4;i++)
{
for(j=0;j<6;j++)
printf("%3d ",matrixB[i][j]);
printf("\n");
}
printf("\n");
printf("matrix C is :\n");
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
printf("%5d ",matrixC[i][j]);//右对齐比较好看
printf("\n");
}
system("pause");
return 0;
}