ZCMU 4942: 計算兩個矩陣的乘積

Time Limit: 1 Sec  Memory Limit: 32 MB
Submit: 8  Solved: 4
 

Description

計算兩個矩陣的乘積,第一個是2*3矩陣,第二個是3*2矩陣,結果爲一個2*2矩陣。

Input

輸入包含多組數據,先輸入一個2*3矩陣,再輸入一個3*2矩陣。

Output

輸出兩個矩陣的乘積。

Sample Input

1 1 1 1 1 1 1 1 1 1 1 1

Sample Output

3 3 3 3

HINT

 

Source

數據結構高分筆記

 

題解:建立數組保存答案 三層循環

代碼:

#include<stdio.h>
int a[2][3],b[3][2];
int main()
{
    int i,j,k;
    while(~scanf("%d%d%d",&a[0][0],&a[0][1],&a[0][2]))
    {
        int sum[2][2]={0};
        for(int i=1; i<2; i++)
            for(int j=0; j<3; j++)
                scanf("%d",&a[i][j]);
        for(int i=0; i<3; i++)
            for(int j=0; j<2; j++)
                scanf("%d",&b[i][j]);
        for(int i=0; i<2; i++)
        {
            for(int j=0; j<2; j++)
            {
                for(k=0; k<3; k++)
                {
                    sum[i][j]+=a[i][k]*b[k][j]; //重點
                }
            }
        }
        printf("%d %d\n",sum[0][0],sum[0][1]);
        printf("%d %d\n",sum[1][0],sum[1][1]);
    }
    return 0;
}

 

發佈了65 篇原創文章 · 獲贊 3 · 訪問量 9227
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章