C语言 定义并输入一个2*3的数组A和一个3*2的数组B,计算C=A*B,并按照数组格式输出

2025-04-29 22:29:18
推荐回答(1个)
回答1:

#include 
#include 
void multiply(int res[2][2], int m1[2][3], int m2[3][2])
{
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
res[i][j] = 0;
for (int t = 0; t < 3; t++)
res[i][j] += m1[i][t] * m2[t][j];
}
}
}

void printMatrix(int* data, int n, int m)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < m; j++)
printf("%d ", *(data + i * n + j));
printf("\n");
}

}





int main()
{
int a[2][3], b[3][2], c[2][2];

for (int i = 0; i < 2; i++)
for (int j = 0; j < 3; j++)
scanf("%d", &a[i][j]);

for (int i = 0; i < 3; i++)
for (int j = 0; j < 2; j++)
scanf("%d", &b[i][j]);

multiply(c, a, b);
printMatrix(c[0], 2, 2);


return 0;
}