C语言程序:
#include "stdio.h"
//矩阵乘法
void product(double m1[][3], double m2[][3], double result[][3]);
//显示矩阵的元素
void display(double m[][3]);
int main()
{
double m1[3][3] = {{1, 2, 1}, {2, 1, 4}, {3, 4, 5}};
double m2[3][3] = {{1, 0, -1}, {-1, -2, 0}, {1, 0, 1}};
double result[3][3];
product(m1, m2, result);
display(result);
return 0;
}
void product(double m1[][3], double m2[][3], double result[][3])
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
*(*(result + i) + j) = 0;
for(int k=0; k<3; k++)
{
*(*(result + i) + j) += *(*(m1 + i) + k) * *(*(m2 + k) + j);
}
}
}
}
void display(double m[][3])
{
for(int i=0; i<3; i++)
{
for(int j=0; j<3; j++)
{
printf("%6.2lf", *((*m + i) + j));
}
printf("\n");
}
}
运行测试:
0.00 -4.00 0.00
-4.00 0.00 5.00
0.00 5.00 -2.00