#include<stdio.h>
int main()
{
int i,j;
int x[3][4];
puts("4行3列的矩阵的乘积");
for (i = 0; i <= 3; i++) {
for (j = 0; j <= 4; j++) {
scanf_s("%d", &x[i][j]);
}
}
printf("\n");
int a, b;
puts("3行4列的矩阵的乘积");
int y[4][3];
for (a = 0; a <= 4; a++) {
for (b = 0; b <= 3; b++) {
scanf_s("%d",&y[a][b]);
}
}
for (int c=0; c<3; c++){
for (int d=0; d<3; d++) {
int z = 0;
for (int o=0; o<4; o++) {
z += x[c][o] * y[o][d];
}
printf("%5d",z);
}
printf("\n");
}
printf("\n");
return 0;
}
例题来自明解C语言中的5-10;
感兴趣的小伙伴可以去看看这本书
废话不多说了,求两个多维数组的乘积。我们不妨把两个数组分开用a和b代替两个数组。
在a数组中我们以简单的多维数组-二维数组为例子,我整个数组a分为水平和竖直的两个方向即第一行中水平的数值输入,第二行的水平的数值输入,同理可得我们整个数组a的值;以此类推表达b的数组也不在话下。再利用循环表达数组的乘积,整个题目我们就解出来了。
如果还有小伙伴仍然有困惑,欢迎在下面留言我会积极回答的下。记得点个关注防止迷路。