C语言 矩阵乘法

       矩阵运算时,逐行逐列相乘再相加,因此对于二维矩阵,需要两个for循环来求解,第一个for循环指定行,第二个for循环指定列。除此之外,定义一个变量k来标识A的行中个元素以及标识B的列中个元素。通过k的增加来遍历A的行中的元素和遍历B的列中的元素。

运用C语言进行二维矩阵乘法运算代码如下:

#include<stdio.h>

#define M 3
#define N 4
#define P 5


int main()
{
int i, j, k;
int a[M][N], b[N][P], c[M][P];
printf("a=\n");
for (i = 0; i < M; i++)

for (j = 0; j < N;j++)
scanf("%d", &a[i][j]);
}
printf("b=\n");
for (j = 0; j < N; j++)
{
for (k = 0; k < P; k++)
scanf("%d", &b[j][k]);
}


for (i = 0; i < M; i++)
{
for (k = 0; k < P; k++)
c[i][k] = 0;
}


for (i = 0; i < M; i++)
{
for (j = 0; j < N; j++)
for (k = 0; k < P; k++)
{
c[i][k] += a[i][j] * b[j][k];
}

}


printf("c=\n");
for (i = 0; i < M; i++)
{
for (k = 0; k < P; k++)
printf("%d ", c[i][k]);
printf("\n");
}
return 0;

}

猜你喜欢

转载自blog.csdn.net/wanty_chen/article/details/79959140
今日推荐