c++实现将一个43 矩阵和一个32 矩阵相乘得到另一个距阵并将其打印出来。提示: 要求: 1、从键盘输入两个矩阵,并输出结果矩阵。矩阵的输入输出要求行列对齐。 2、把矩阵相承写成函数形式,在主函数中完成矩阵的输入输出。
时间: 2023-05-10 21:55:35 浏览: 36
好的,以下是实现将一个43矩阵和一个32矩阵相乘得到另一个矩阵并将其打印出来的代码:
```c
#include <stdio.h>
#define ROW1 4
#define COL1 3
#define ROW2 3
#define COL2 2
void matrix_multiply(int mat1[][COL1], int mat2[][COL2], int res[][COL2])
{
int i, j, k;
for (i = 0; i < ROW1; i++) {
for (j = 0; j < COL2; j++) {
res[i][j] = 0;
for (k = 0; k < COL1; k++) {
res[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
void print_matrix(int mat[][COL2], int row, int col)
{
int i, j;
for (i = 0; i < row; i++) {
for (j = 0; j < col; j++) {
printf("%d ", mat[i][j]);
}
printf("\n");
}
}
int main()
{
int mat1[ROW1][COL1], mat2[ROW2][COL2], res[ROW1][COL2];
int i, j;
printf("请输入第一个矩阵:\n");
for (i = 0; i < ROW1; i++) {
for (j = 0; j < COL1; j++) {
scanf("%d", &mat1[i][j]);
}
}
printf("请输入第二个矩阵:\n");
for (i = 0; i < ROW2; i++) {
for (j = 0; j < COL2; j++) {
scanf("%d", &mat2[i][j]);
}
}
matrix_multiply(mat1, mat2, res);
printf("矩阵相乘的结果为:\n");
print_matrix(res, ROW1, COL2);
return 0;
}
```
这个程序会从键盘输入两个矩阵,然后调用 `matrix_multiply` 函数将它们相乘得到结果矩阵,最后调用 `print_matrix` 函数将结果矩阵打印出来。