请设计一个程序:利用二维数组来表示矩阵,实现一个3x4矩阵 A 与4x2矩阵 B 相乘,并把结果存放在一个3x2的矩阵 C 中。矩阵 A 、 B 的初始化由用户进行输入。
ChatGPT尝试为您解答,仅供参考
#include <stdio.h>
#define ROW_A 3
#define COL_A 4
#define COL_B 2
int main(void) {
int A[ROW_A][COL_A]; // 定义 3x4 矩阵 A
int B[COL_A][COL_B]; // 定义 4x2 矩阵 B
int C[ROW_A][COL_B]; // 定义 3x2 矩阵 C
// 输入矩阵 A 的值
printf("Enter the values for matrix A (%dx%d):\n", ROW_A, COL_A);
for (int i = 0; i < ROW_A; i++) {
for (int j = 0; j < COL_A; j++) {
scanf("%d", &A[i][j]);
}
}
// 输入矩阵 B 的值
printf("Enter the values for matrix B (%dx%d):\n", COL_A, COL_B);
for (int i = 0; i < COL_A; i++) {
for (int j = 0; j < COL_B; j++) {
scanf("%d", &B[i][j]);
}
}
// 计算矩阵乘法
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];
}
}
}
// 输出结果
printf("Result:\n");
for (int i = 0; i < ROW_A; i++) {
for (int j = 0; j < COL_B; j++) {
printf("%d ", C[i][j]);
}
printf("\n");
}
return 0;
}
在这个程序中,我们首先定义了 3x4 的矩阵 A、4x2 的矩阵 B 和 3x2 的矩阵 C,然后读入矩阵 A 和 B 的值。接下来,我们使用三重循环来计算矩阵乘法,最后输出。