我用数组套的矩阵,然后用矩阵乘法的的公式算A*B*C的
#includevoid 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++)
printf("%d ",a[j][i]);//此处为输出矩阵a*b*c,你可以拿笔算一下,以上经过vc++6.0测试,且用笔算之后与结果相同
printf("|\n");
本文介绍了一个简单的C语言程序,用于演示如何通过用户输入计算三个2x2矩阵的乘积。程序首先接收用户输入的矩阵A、B和C的元素,然后依次计算A*B和(A*B)*C的结果。

被折叠的 条评论
为什么被折叠?



