#include<stdio.h>#include<stdlib.h>intmain(){int Mat1[100][100]={0};int Mat2[100][100]={0};int result[100][100]={0};int n,m,p;printf("请输入第一个矩阵的行数和列数,以及第二个矩阵的列数:\n");/* 输入第一个矩阵 */printf("Mat1:\n");scanf("%d %d %d",&m ,&n ,&p);for(int i =0; i < m ; i++){for(int j =0; j < n ; j++){scanf("%d",&Mat1[i][j]);}}/* 输入第二个矩阵 */printf("Mat2:\n");for(int i =0; i < n ; i++){for(int j =0; j < p ; j++){scanf("%d",&Mat2[i][j]);}}/* 精华部分 *//**********************
1.外双循环的边界值就是新矩阵的行列值
2.最内循环是确定某行某列时,对结果不断进行叠加,即矩阵乘法的模拟
***********************/for(int i =0; i < m ; i++){for(int j =0; j < p ; j++){for(int k =0; k < n ; k++){
result[i][j]+= Mat1[i][k]* Mat2[k][j];}}}/* 输出结果 */printf("Result:\n");for(int i =0; i < m ; i++){for(int j =0; j < p ; j++){printf("%d ",result[i][j]);}printf("\n");}return0;}