輸入兩個3X3矩陣後輸出兩矩陣相乘結果。
輸入:兩個3X3矩陣(整數)。
輸出: 一個3X3矩陣,未滿3位數須補0。
(ex : 1 → 001 , 12→ 012)
範例輸出:
解題思路:
可以先用紙筆模擬矩陣乘法,觀察在每一次相乘相加中哪些變動、哪些不變,照著實作就好了。
程式碼:
#include <stdio.h> int main() { int matrix_1[3][3], matrix_2[3][3], result[3][3] = { 0 }, temp; printf("The first matrix:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) scanf_s("%d", &matrix_1[i][j]); } printf("The second matrix:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) scanf_s("%d", &matrix_2[i][j]); } printf("The mutiple result is:\n"); for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { temp = 0; for (int k = 0; k < 3; k++) { temp += matrix_1[i][k] * matrix_2[k][j]; } result[i][j] = temp; } } for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) printf("%03d ", result[i][j]); printf("\n"); } return 0; }
沒有留言:
張貼留言