参考链接: C 程序将两个数字相乘
二维矩阵乘法:编写程序算出连个矩阵相乘的结果 输入要求:先输入第一个矩阵大小,再输入每一行的矩阵数字 输入第二个矩阵大小,输入每一行的矩阵内容
两个矩阵相乘必须满足:第一个矩阵的行,等于第二个矩阵的列 假定满足要求
#include<iostream>
using namespace std;
#define MAX_SIZE 8
int A[MAX_SIZE][MAX_SIZE]={0};
int B[MAX_SIZE][MAX_SIZE]={0};
int C[MAX_SIZE][MAX_SIZE]={0};
int main(){
int m,n;
cin >>m >>n;
int i;
for( i = 0;i< m;i )
for(int j = 0;j< n;j ) //矩阵 A
cin>>A[i][j];
cout<<"第二个矩阵 " <<endl;
int p,q;
cin >>p >>q; //矩阵 B
for( i = 0;i< p;i )
for(int j = 0;j< q;j )
cin>>B[i][j];
for( i = 0;i< m;i ){ // 相乘算法
for(int j = 0;j< p ;j ){
C[i][j] = 0;
for(int k = 0;k< n;k )
C[i][j] = A[i][k] * B[k][j];
}
}
cout<<"矩阵结果 " <<endl;
for( i = 0;i< m;i ){ // 输出A
for(int j = 0;j< n;j )
cout<< A[i][j]<<" ";
cout<< endl;
}
cout<<endl;
for( i = 0;i< p;i ){ // 输出B
for(int j = 0;j< q;j )
cout<< B[i][j]<<" ";
cout<< endl;
}
cout<<endl;
for( i = 0;i< m;i ){ // 输出C
for(int j = 0;j< q;j )
cout<< C[i][j]<<" ";
cout<< endl;
}
}