矩阵的乘法运算 c 语言代码
时间: 2024-06-23 10:01:27 浏览: 133
矩阵乘法在C语言中通常使用二维数组(也称为矩阵)来表示,并且需要遵循特定的规则,即第一个矩阵的列数必须等于第二个矩阵的行数才能相乘。以下是一个简单的C语言函数,用于计算两个整数矩阵的乘积:
```c
#include <stdio.h>
// 定义矩阵乘法函数
void matrixMultiplication(int a[], int b[], int result[], int m, int n, int p) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
result[i][j] = 0;
for (int k = 0; k < n; k++) {
result[i][j] += a[i][k] * b[k][j]; // 根据矩阵乘法规则累加
}
}
}
}
// 示例矩阵
int matrixA = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} };
int matrixB = { {9, 8, 7}, {6, 5, 4}, {3, 2, 1} };
int resultMatrix; // 结果矩阵
int main() {
int m = 3, n = 3, p = 3; // 矩阵A和B的尺寸
matrixMultiplication(matrixA, matrixB, resultMatrix, m, n, p);
printf("Matrix A:\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
printf("%d ", matrixA[i][j]);
}
printf("\n");
}
printf("Matrix B:\n");
for (int i = 0; i < n; i++) {
for (int j = 0; j < p; j++) {
printf("%d ", matrixB[i][j]);
}
printf("\n");
}
printf("Matrix Product (A * B):\n");
for (int i = 0; i < m; i++) {
for (int j = 0; j < p; j++) {
printf("%d ", resultMatrix[i][j]);
}
printf("\n");
}
return 0;
}
```