用c语言编写程序)矩阵乘法。编写一个C程序实现 M行K列阵与K行N列的拒阵的乘积。设A 为M行K列的矩阵,B为K行N列的矩阵,则C-AxB的积为M行列的矩阵 矩阵乘法的规则是:设A[m,k],B[k,n],则c[mn]=A[m,k]xB[k,n],其中 C[ij-Zt=l4[iAxB[),(1=1,2,-,m j=1,2,-n) *输出格式要求:“td”"array A=\n”"array B-\n”"array C=\n"
时间: 2023-12-10 15:38:35 浏览: 156
基于c语言实现的矩阵乘法
以下是C语言代码实现矩阵乘法:
```c
#include <stdio.h>
int main() {
int m, k, n, i, j, l;
printf("Enter the dimensions of matrix A (MxK): ");
scanf("%d %d", &m, &k);
printf("Enter the dimensions of matrix B (KxN): ");
scanf("%d %d", &k, &n);
int a[m][k], b[k][n], c[m][n];
printf("Enter the elements of matrix A:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < k; j++) {
scanf("%d", &a[i][j]);
}
}
printf("Enter the elements of matrix B:\n");
for (i = 0; i < k; i++) {
for (j = 0; j < n; j++) {
scanf("%d", &b[i][j]);
}
}
// Multiply matrices A and B and store the result in matrix C
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
c[i][j] = 0;
for (l = 0; l < k; l++) {
c[i][j] += a[i][l] * b[l][j];
}
}
}
// Print matrices A, B and C
printf("array A:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < k; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
printf("array B:\n");
for (i = 0; i < k; i++) {
for (j = 0; j < n; j++) {
printf("%d ", b[i][j]);
}
printf("\n");
}
printf("array C:\n");
for (i = 0; i < m; i++) {
for (j = 0; j < n; j++) {
printf("%d ", c[i][j]);
}
printf("\n");
}
return 0;
}
```
运行程序后,用户需要输入矩阵 A 和矩阵 B 的元素,并且程序会输出矩阵 A、B 和 C 的元素。输出格式满足题目要求。
阅读全文