这些代码只能显示15位并且最后一位还会乱码,哪位大佬看看,谢谢#include<stdio.h>int main(void){ int a[4][3]; int b[3][4]; int c[4][4]; int e,f; printf("输入三行四列的矩阵。\n" ); for(e=0;e<3;e++){ for(f=0;f<4;f++){ printf("[第%d行][第%d列]: ", e+1, f+1); scanf("%d",&b[e][f]); } } printf("输入四行三列的矩阵。\n"); for(e=0;e<4;e++){ for(f=0;f<3;f++){ printf("[第%d行][第%d列]: ", e+1, f+1); scanf("%d",&a[e][f]); } } for(e=0;e<4;e++){ for(f=0;f<4;f++) c[e][f]=a[e][f]*b[e][f]; } puts("四行三列的矩阵和三行四列矩阵的乘积\n"); for(e=0;e<4;e++){ for(f=0;f<4;f++) printf("%4d",c[e][f]); } return 0;}
你的计算公式不对,所以结果不正确。
上图中,c(e,f)的计算方法严重错误!
这样的直接相乘结果并不是矩阵相乘啊!
注意[i][j],另一个是[j][i]
所以,一个是[e][f],另一个必须是[f][e]