输入两个矩阵相乘C语言
时间: 2024-11-05 17:34:00 浏览: 46
在C语言中,矩阵相乘通常涉及到线性代数运算,尤其是当处理二维数组(矩阵)时。矩阵A乘以矩阵B得到的结果矩阵C,其行数等于矩阵A的列数,列数等于矩阵B的行数。这里是一个简单的例子,展示如何通过嵌套循环实现两个矩阵的乘法:
```c
#include <stdio.h>
// 定义矩阵结构体
typedef struct {
int rows;
int cols;
int data[ROW][COL]; // ROW 和 COL 是矩阵的实际尺寸
} Matrix;
// 矩阵乘法函数
Matrix matrix_multiply(Matrix A, Matrix B) {
Matrix C = {0}; // 初始化结果矩阵
C.rows = A.rows;
C.cols = B.cols;
for(int i = 0; i < C.rows; i++) {
for(int j = 0; j < C.cols; j++) {
for(int k = 0; k < A.cols; k++) {
C.data[i][j] += A.data[i][k] * B.data[k][j];
}
}
}
return C;
}
int main() {
// 假设你有两矩阵 A 和 B
Matrix A, B, result;
// ... 分别输入矩阵的维度和元素 ...
result = matrix_multiply(A, B);
// 打印结果矩阵
for(int i = 0; i < result.rows; i++) {
for(int j = 0; j < result.cols; j++) {
printf("%d ", result.data[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文