编程计算2×3阶矩阵A和3×2阶矩阵B之积C。 矩阵相乘的基本方法是: 矩阵A的第i行的所有元素同矩阵B第j列的元素对应相乘, 并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值。 要求: (1)从键盘分别输入矩阵A和B, 输出乘积矩阵C (2) **输入提示信息为: 输入矩阵A之前提示:"Input 2*3 matrix a:\n" 输入矩阵B之前提示

时间:2022-12-08 00:04:46
编程计算2×3阶矩阵A和3×2阶矩阵B之积C。
矩阵相乘的基本方法是:
矩阵A的第i行的所有元素同矩阵B第j列的元素对应相乘,
并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值。
要求:
(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
#include <stdio.h>
#define ROW 2
#define COL 3 main()
{
int a[ROW][COL], b[COL][ROW], c[ROW][ROW], i, j,k; printf("Input 2*3 matrix a:\n");
for (i=; i<ROW ;i++)//
{
for (j=; j<COL; j++)//
{
scanf("%d", &a[i][j]);//
}
}
printf("Input 3*2 matrix b:\n");
for (i=; i<COL; i++)//
{
for (j=; j<ROW; j++)//
{
scanf("%d", &b[i][j]);//
}
}
for (i=; i<ROW; i++)//
{
for (j=; j<ROW; j++)//
{
c[i][j] = ;//
for (k=; k<COL; k++)//
{
c[i][j] = c[i][j]+a[i][k]*b[k][j] ;//
}
}
}
printf("Results:\n");
for (i=; i<ROW; i++)//
{
for (j=; j<ROW; j++) //
{
printf("%6d", c[i][j]);//
}
printf("\n") ;//
}
}