/*目的:运用二维数组设计一个矩阵的相乘程序*/
/*VI编辑器编写,GCC编译*/
#include<stdio.h>
int main()
{
int matrixA[5][4]={1,2,5,8,9,5,4,5,8,9,1,3,8,4,6,3,2,5,8,4};
int matrixB[4][6]={5,4,8,7,6,4,4,7,8,4,5,6,6,5,2,4,8,7,9,5,3,7,1,5};
int matrix[5][6];
int i,j,k;
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{
matrix[i][j]=0;
for(k=0;k<4;k++)
{ /*矩阵乘法:C(i,j)=C(i,j)+A(i,k)*B(k,j)*/
matrix[i][j]+=matrixA[i][k]*matrixB[k][j];
}
}
}
printf("The matrix A is:/n");
for(i=0;i<5;i++)
{
for(k=0;k<4;k++)
{
printf("%d ",matrixA[i][k]);
}
printf("/n");
}
printf("/nThe matrix B is:/n");
for(k=0;k<4;k++)
{ for(j=0;j<6;j++)
{ printf("%d ",matrixB[k][j]); }
printf("/n");
}
printf("/nThe matrix = matrixA * matrixB is:/n");
for(i=0;i<5;i++)
{
for(j=0;j<6;j++)
{
printf("%d ",matrix[i][j]);
}
printf("/n");
}
}