编程求两个矩阵相乘的结果。输入第一行是整数m,n, 表示第一个矩阵是m行n列的。接下来时一个m×n的矩阵。 再下一行的输入是整数p,q,表示下一个矩阵是p行q列(n=p) 再接下来就是一个p行q列的矩阵。 要求输出两个矩阵相乘的结果矩阵(1 < m,n,p,q <= 8)。 [

](http://www.wjgbaby.com/wp-content/uploads/2017/11/17111501-300x144.png)
输入样例(2行3列,3行3列
: 2 3 2 4 5 2 1 3 3 3 1 1 1 2 3 2 0 1 4 输出样例: 10 19 30 4 8 16 代码如下:

#include
using namespace std;
#define ROWS 8
#define COLS 8
int a[ROWS][COLS];
int b[ROWS][COLS];
int c[ROWS][COLS]; //结果
int main() {
int m,n,p,q;
cin >> m >> n;
for(int i = 0;i<m; ++i) //读入a矩阵
for(int j = 0; j < n; ++j)
cin >> a[i][j];
cin >> p >> q;

for(int i = 0;i<p; ++i) //读入b矩阵 
    for(int j = 0; j < q; ++j)
        cin >> b\[i\]\[j\];

for (int i = 0; i < m; ++i) {
    for (int j = 0; j < q; ++j) {
        c\[i\]\[j\] = 0; 
        for (int k = 0; k < n; ++k) 
            c\[i\]\[j\] += a\[i\]\[k\] \* b\[k\]\[j\];
    } 
} 

for (int i = 0; i<m; ++i) { 
    for (int j = 0; j < q; ++j) { 
        cout << c\[i\]\[j\] << " "; 
    } 
cout << endl; 
}
return 0;

}