解题思路:没啥思路,按定义乘呗,学过线代的更好懂
注意事项:n*m的矩阵乘m*k的矩阵的结果是n*k的举证,循环时要注意循环条件
参考代码:#include"stdio.h" //头文件
#define N 100 //定义常量
int main()
{
int m, n, k;
int arr1[100][100], arr2[100][100], arr3[100][100] = {0}; //定义三个矩阵
int i, j, p, q; //定义循环变量
scanf("%d %d %d", &n, &m, &k); //输入三个矩阵的行列数
for (i = 0; i < n; i++) //循环输入第一个矩阵
for (j = 0; j < m; j++)
scanf("%d", &arr1[i][j]);
for (i = 0; i < m; i++) //循环输入第二个矩阵
for (j = 0; j < k; j++)
scanf("%d", &arr2[i][j]);
for (i = 0; i < n; i++) //矩阵乘法
for (j = 0; j < k; j++)
for (p = 0; p < m; p++)
arr3[i][j] = arr3[i][j]+arr1[i][p] * arr2[p][j];
for (int i = 0; i < n; i++) //输出结果
{
for (int j = 0; j < k; j++)
{
printf("%d ", arr3[i][j]);
}
printf("\n");
}
}
0.0分
1 人评分