以下是一個(gè)簡單的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;
}
在上面的代碼中,我們定義了一個(gè)multiplyMatrix
函數(shù),該函數(shù)接受兩個(gè)二維數(shù)組作為參數(shù),分別表示兩個(gè)矩陣,還有一個(gè)用于存儲結(jié)果的二維數(shù)組。函數(shù)中使用三個(gè)循環(huán)來實(shí)現(xiàn)矩陣相乘的計(jì)算過程。
displayMatrix
函數(shù)用于打印結(jié)果矩陣。
在main
函數(shù)中,我們定義了兩個(gè)矩陣mat1
和mat2
,并將結(jié)果存儲在result
中,然后調(diào)用multiplyMatrix
函數(shù)計(jì)算結(jié)果,最后調(diào)用displayMatrix
函數(shù)打印結(jié)果。
以上代碼只是一個(gè)簡單的例子,矩陣大小為3x3,你可以根據(jù)自己的需求修改代碼中的矩陣大小。