题目描述 有2×3的矩阵a和3×2的矩阵b,求这两个矩阵相乘后的2×2矩阵c,并打印。 要求用函数实现 Multi(int a[][3],int b[][2],int c[][2]) 矩阵a,b的值在主函数中输入。 输入 2×3的矩阵a和3×2的矩阵b 输出 这两个矩阵相乘后的2×2矩阵c,并打印。 样例输入 1 2 3 3 2 1 1 2 3 1 2 3 样例输出 13 13 11 11 提示用c语言实现
时间: 2024-03-22 21:38:42 浏览: 50
得一个 3×3 的矩阵转置,用一函数实现之。在主函数中用 scanf 函数输入矩阵元素
好的,根据你提供的题目描述,我可以为你提供以下 C 语言代码:
```c
#include <stdio.h>
void Multi(int a[][3], int b[][2], int c[][2]) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
c[i][j] = 0;
for (int k = 0; k < 3; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
}
int main() {
int a[2][3], b[3][2], c[2][2];
printf("请输入矩阵a的值:\n");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
scanf("%d", &a[i][j]);
}
}
printf("请输入矩阵b的值:\n");
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 2; j++) {
scanf("%d", &b[i][j]);
}
}
Multi(a, b, c);
printf("矩阵a和矩阵b相乘后的结果为:\n");
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 2; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
这段代码中,`Multi()` 函数用于计算矩阵相乘后的结果。在主函数中,我们先输入矩阵 a 和矩阵 b 的值,然后调用 `Multi()` 函数进行计算,并输出结果。注意在 C 语言中,二维数组作为函数参数传递时,需要指定数组的第二维大小。
阅读全文