輸入兩個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;
}

沒有留言:
張貼留言