C语言,算两个矩阵的乘积,请帮忙看看我的程序哪里错了,谢谢

发布网友 发布时间:2024-11-29 08:17

我来回答

2个回答

热心网友 时间:2024-12-06 03:15

printf("请依次输入五行二列矩阵B中的元素:");
for(p=0;p<5;p++)
for(q=0;q<2;q++)//这里是q别弄错了
scanf("%d",&b[p][q]);
for(s=0;s<3;s++)
for(t=0;t<2;t++)
for(c[s][t]=0,x=0;x<5;x++)//这里把4改成5
c[s][t]=a[s][x]*b[x][t]+c[s][t];
printf("A*B=");
for(s=0;s<3;s++)//这里每次第一个循环一遍的时候输出一个换行
{
for(t=0;t<2;t++)
printf("%4d",c[s][t]);//格式控制是%4d不是%d4
printf("\n");
}
return 0;
}

热心网友 时间:2024-12-06 03:14

矩阵的乘法你都弄错了,应该是第一个矩阵的行数和第二个矩阵的列数相等时,矩阵相乘才有意义。
a[3][5]*b[5][2]没有意义
b[5][2]*a[3][5]才有意义,结果才是个5x5的矩阵,
矩阵相乘的结果一定是nxn的矩阵

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com