用C语言写:编写程序实现一个2*3矩阵与3*3矩阵的乘积运算,矩阵元素值为实数,保留小数点后1位输出。输出矩阵乘积结果。 【输入形式】 输入2行3列矩阵A元素值(实数),各元素用一个空格隔开,回车换行 输入3行3列矩阵B元素值(实数),各元素用一个空格隔开,回车换行 【输出形式】 矩阵乘积值C的矩阵形式。每个元素实数格式7.1,占7位宽度,保留1位小数。 【样例输入】 1.2 2.4 3.6 2.6 4.8 5.9 1 2 3 4 5 6 7 8 9 【样例输出】 matrix C: 36.0 43.2 50.4 63.1 76.4 89.7
时间: 2024-03-24 20:35:40 浏览: 97
好的,下面是一个用 C 语言实现矩阵乘法的程序:
```c
#include <stdio.h>
int main() {
double A[2][3], B[3][3], C[2][3] = {0};
// 读入矩阵 A
printf("Enter matrix A (2*3):\n");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
scanf("%lf", &A[i][j]);
}
}
// 读入矩阵 B
printf("Enter matrix B (3*3):\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
scanf("%lf", &B[i][j]);
}
}
// 计算矩阵 C
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
C[i][j] += A[i][k] * B[k][j];
}
}
}
// 输出矩阵 C
printf("matrix C:\n");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
printf("%7.1f", C[i][j]);
}
printf("\n");
}
return 0;
}
```
该程序中定义了三个二维数组 `A`、`B` 和 `C`,其中 `A` 和 `C` 都是 2 行 3 列的矩阵,`B` 是 3 行 3 列的矩阵。程序通过循环读入矩阵 `A` 和 `B` 的元素,并计算矩阵乘积 `C`。最后按照格式要求输出矩阵 `C` 的元素。
需要注意的是,程序中使用了 `%lf` 格式符来读入 `double` 类型的实数,使用 `%7.1f` 格式符按照要求输出实数,其中数字 7 表示输出宽度为 7,`.1` 表示保留 1 位小数。
阅读全文