编程计算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之前提示
编程计算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=0; i<ROW ;i++)//1 { for (j=0; j<COL; j++)//1 { scanf("%d", &a[i][j]);//1 } } printf("Input 3*2 matrix b:\n"); for (i=0; i<COL; i++)//1 { for (j=0; j<ROW; j++)//1 { scanf("%d", &b[i][j]);//1 } } for (i=0; i<ROW; i++)//1 { for (j=0; j<ROW; j++)//1 { c[i][j] = 0 ;//1 for (k=0; k<COL; k++)//1 { c[i][j] = c[i][j]+a[i][k]*b[k][j] ;//2 } } } printf("Results:\n"); for (i=0; i<ROW; i++)//1 { for (j=0; j<ROW; j++) //1 { printf("%6d", c[i][j]);//1 } printf("\n") ;//1 } }