C语言实现两个矩阵相乘
实现代码如下
#include <stdio.h>
#define cow 4
#define clo 3
void mat_mub(const int a[4][3],const int b[3][4],int c[3][3])
{
int i,j,k;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
c[i][j]=0;
for(k=0;k<4;k++)
{
c[i][j]=b[i][k]*a[k][j];
}
}
}
}
int main(void)
{
int i,j;
int a[clo][cow];
int b[cow][clo];
int c[cow][cow];
mat_mub(a,b,c);
printf("显示数组C中的元素:\n");
for(i=0;i<clo;i++)
{
for(j=0;j<clo;j++)
{
printf("C[%d][%d]=%d\n",i,j,c[i][j]);
}
}
return 0;
}
注意
4行3列乘3行4列得到的矩阵是4行4列的
3行4列乘4行3列得到的矩阵是3行3列的