求C语言3个2*2矩阵相乘的算法

来源:百度知道 编辑:UC知道 时间:2024/06/26 04:26:45
其中行列试的每个元素为未知方程.
菜鸟恳请详细解答。
谢谢,谢谢
很麻烦的,每个元素为单独的方程

我用数组套的矩阵,然后用矩阵乘法的的公式算A*B*C的

#include<stdio.h>
void main()
{
int a[2][2],b[2][2],c[2][2],d[2][2],i,j;
printf("请逐个为矩阵赋值");
for(j=0;j<2;j++)
for(i=0;i<2;i++)
scanf("%d",&a[j][i]);//为矩阵a赋值
for(j=0;j<2;j++)
for(i=0;i<2;i++)
scanf("%d",&b[j][i]);//为矩阵b赋值
for(j=0;j<2;j++)
for(i=0;i<2;i++)
scanf("%d",&c[j][i]);//为矩阵C赋值
d[0][0]=(a[0][0]*b[0][0]+a[0][1]*b[1][0]);//
d[0][1]=(a[0][0]*b[0][1]+a[0][1]*b[1][1]);//
d[1][0]=(a[1][0]*b[0][0]+a[1][1]*b[1][0]);//
d[1][1]=(a[1][0]*b[0][1]+a[1][1]*b[1][1]);//以上四行用矩阵D表示矩阵a*b的值
a[0][0]=(d[0][0]*c[0][0]+d[0][1]*c[1][0]);//
a[0][1]=(d[0][0]*b[0][1]+c[0][1]*b[1][1]);//
a[1][0]=(d[1][0]*b[0][0]+c[1][1]*b[1][0]);//
a[1][1]=(d[1][0]*b[0][1]+c[1][1]*b[1][1]);//以上四行用矩阵a表示d*c的值即a*b*c的值
for(j=0;j<2;j++)
{printf("| ");
for(i=0;i<2;i++)