编程计算2×3阶矩阵A和3×2阶矩阵B之积C。 要求: (1)从键盘分别输入矩阵A和B, 输出乘积矩阵C (2) **输入提示信息为: 输入矩阵A之前提示:"Input 2*3 matrix a:\n" 输入矩阵B之前提示:"Input 3*2 matrix b:\n" **输入矩阵中每个值的格式为:"%d" **输出格式为: 输出矩阵C之前提示:"Results:\n" 输出矩阵C中每个值的格式:"%6d" 输出矩阵C各行结束时换行 例如: Input 2*3 matrix a: 1 2 3 0 1 2 Input 3*2 matrix b: 1 -2 2 3 1 3 Results: 8 13 4 9
时间: 2024-02-03 18:03:59 浏览: 121
以下是代码实现:
```c
#include <stdio.h>
int main() {
int a[2][3], b[3][2], c[2][2] = {0}; // 定义矩阵及其乘积矩阵
printf("Input 2*3 matrix a:\n");
for (int i = 0; i < 2; i++) { // 输入矩阵a
for (int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
printf("Input 3*2 matrix b:\n");
for (int i = 0; i < 3; i++) { // 输入矩阵b
for (int j = 0; j < 2; j++) {
scanf("%d", &b[i][j]);
}
}
for (int i = 0; i < 2; i++) { // 计算矩阵乘积
for (int j = 0; j < 2; j++) {
for (int k = 0; k < 3; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
printf("Results:\n");
for (int i = 0; i < 2; i++) { // 输出矩阵c
for (int j = 0; j < 2; j++) {
printf("%6d", c[i][j]);
}
printf("\n");
}
return 0;
}
```
输入样例:
```
Input 2*3 matrix a:
1 2 3
0 1 2
Input 3*2 matrix b:
1 -2
2 3
1 3
```
输出样例:
```
Results:
8 13
4 9
```
阅读全文