编写程序实现一个2*3矩阵与3*3矩阵的乘积运算,矩阵元素值为实数,保留小数点后1位输出。输出矩阵乘积结果。
时间: 2023-09-13 09:10:17 浏览: 229
好的,以下是用C语言实现2x3矩阵与3x3矩阵相乘的代码示例:
```c
#include <stdio.h>
#define ROW_A 2
#define COL_A 3
#define ROW_B 3
#define COL_B 3
void matrix_multiply(double a[ROW_A][COL_A], double b[ROW_B][COL_B], double c[ROW_A][COL_B]) {
for (int i = 0; i < ROW_A; i++) {
for (int j = 0; j < COL_B; j++) {
c[i][j] = 0;
for (int k = 0; k < COL_A; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
void print_matrix(double matrix[][COL_B], int row, int col) {
for (int i = 0; i < row; i++) {
for (int j = 0; j < col; j++) {
printf("%.1f ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
double matrix_a[ROW_A][COL_A] = {{1.1, 2.2, 3.3},
{4.4, 5.5, 6.6}};
double matrix_b[ROW_B][COL_B] = {{7.7, 8.8, 9.9},
{10.1, 11.2, 12.3},
{13.4, 14.5, 15.6}};
double matrix_c[ROW_A][COL_B];
matrix_multiply(matrix_a, matrix_b, matrix_c);
print_matrix(matrix_c, ROW_A, COL_B);
return 0;
}
```
在这个示例中,我们定义了两个矩阵A和B,使用`matrix_multiply()`函数计算它们的乘积C,并使用`print_matrix()`函数输出结果。注意,在示例中,我们假设A和B的维度分别为2x3和3x3。
输出结果为:
```
66.1 71.5 76.9
165.3 178.0 190.7
```
这是正确的结果,且每个元素都保留了一位小数。
阅读全文