以下是一個簡單的C語言矩陣相乘的代碼示例:
#include <stdio.h>
#define SIZE 3
void multiplyMatrix(int mat1[][SIZE], int mat2[][SIZE], int result[][SIZE]) {
int i, j, k;
// 矩陣相乘
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
result[i][j] = 0;
for (k = 0; k < SIZE; k++) {
result[i][j] += mat1[i][k] * mat2[k][j];
}
}
}
}
void displayMatrix(int matrix[][SIZE]) {
int i, j;
// 打印矩陣
for (i = 0; i < SIZE; i++) {
for (j = 0; j < SIZE; j++) {
printf("%d ", matrix[i][j]);
}
printf("\n");
}
}
int main() {
int mat1[SIZE][SIZE] = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int mat2[SIZE][SIZE] = { {9, 8, 7}, {6, 5, 4}, {3, 2, 1} };
int result[SIZE][SIZE];
multiplyMatrix(mat1, mat2, result);
displayMatrix(result);
return 0;
}
在上面的代碼中,我們定義了一個multiplyMatrix
函數,該函數接受兩個二維數組作為參數,分別表示兩個矩陣,還有一個用于存儲結果的二維數組。函數中使用三個循環來實現矩陣相乘的計算過程。
displayMatrix
函數用于打印結果矩陣。
在main
函數中,我們定義了兩個矩陣mat1
和mat2
,并將結果存儲在result
中,然后調用multiplyMatrix
函數計算結果,最后調用displayMatrix
函數打印結果。
以上代碼只是一個簡單的例子,矩陣大小為3x3,你可以根據自己的需求修改代碼中的矩陣大小。