C语言 3X4和4X3矩阵相乘
答案:1 悬赏:20 手机版
解决时间 2021-04-16 00:09
- 提问者网友:鼻尖触碰
- 2021-04-15 04:13
C语言 3X4和4X3矩阵相乘
最佳答案
- 五星知识达人网友:傲气稳了全场
- 2021-04-15 04:29
没有输出的原因是死循环了
改过的程序如下(其他的小地方也改了,具体见注释):
#include
int main()
{
int a[3][4],b[4][3],c[3][3];
int i,j,k;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
// 不需要 printf("
");
}
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
scanf("%d",&b[i][j]);
// 不需要 printf("
");
}
for(i=0;i<3;i++)
for(j=0;j<3;j++) // 录入错误,死循环 for(j=0;j<3;i++)
{
c[i][j]=0;
for(k=0;k<4;k++)
c[i][j]+=a[i][k]*b[k][j]; // 公式应该是累加,复制的话会覆盖之前的值
}
for(i=0;i<3;i++) // 更改了一下输出格式
{
for(j=0;j<3;j++)
printf("%-6d",c[i][j]);
printf("
");
}
return 0;
}
改过的程序如下(其他的小地方也改了,具体见注释):
#include
int main()
{
int a[3][4],b[4][3],c[3][3];
int i,j,k;
for(i=0;i<3;i++)
for(j=0;j<4;j++)
{
scanf("%d",&a[i][j]);
// 不需要 printf("
");
}
for(i=0;i<4;i++)
for(j=0;j<3;j++)
{
scanf("%d",&b[i][j]);
// 不需要 printf("
");
}
for(i=0;i<3;i++)
for(j=0;j<3;j++) // 录入错误,死循环 for(j=0;j<3;i++)
{
c[i][j]=0;
for(k=0;k<4;k++)
c[i][j]+=a[i][k]*b[k][j]; // 公式应该是累加,复制的话会覆盖之前的值
}
for(i=0;i<3;i++) // 更改了一下输出格式
{
for(j=0;j<3;j++)
printf("%-6d",c[i][j]);
printf("
");
}
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯