.矩阵乘法。c语言 输入行和列 和每个元素
时间: 2024-12-12 21:20:15 浏览: 4
C语言求矩阵的各列元素之和的代码示例
5星 · 资源好评率100%
矩阵乘法是一种线性代数操作,它涉及到两个矩阵的相乘,结果矩阵的每个元素是由第一个矩阵的行与其对应的第二个矩阵的列对应元素相乘然后求和得到的。在C语言中,计算矩阵乘法通常涉及嵌套循环,首先检查两个矩阵是否可以相乘(即第一个矩阵的列数等于第二个矩阵的行数),然后通过两层for循环遍历元素。
下面是一个简单的示例,假设我们有两个矩阵A和B,A有m行n列,B有n行p列:
```c
#include <stdio.h>
void matrixMultiplication(int A[m][n], int B[n][p], int result[m][p]) {
for (int i = 0; i < m; i++) { // 遍历结果矩阵的第一维
for (int j = 0; j < p; j++) { // 遍历结果矩阵的第二维
int sum = 0;
for (int k = 0; k < n; k++) { // 遍历公共维度
sum += A[i][k] * B[k][j];
}
result[i][j] = sum;
}
}
}
int main() {
int rows_A, cols_B, elements;
printf("请输入矩阵A的行数和列数:");
scanf("%d %d", &rows_A, &cols_B);
printf("请输入矩阵B的列数和行数:"); // 注意这里应该是B的行数和A的列数一致
scanf("%d %d", &cols_B, &elements);
int A[rows_A][cols_B], B[cols_B][elements], C[rows_A][elements]; // 矩阵声明
// 读取矩阵元素并进行乘法运算
// 这里省略了输入部分,因为实际应用中需要用户输入
matrixMultiplication(A, B, C); // 调用函数
return 0;
}
```
阅读全文