题解 | #矩阵乘法#
矩阵乘法
http://www.nowcoder.com/practice/ebe941260f8c4210aa8c17e99cbc663b
#include <stdio.h>
int main()
{
int x = 0, y = 0, z = 0;
scanf("%d %d %d\n", &x, &y, &z);
int A[x][y];
int B[y][z];
int C[x][z];
memset(A, 0, x*y*sizeof(int));
memset(B, 0, y*z*sizeof(int));
memset(C, 0, x*z*sizeof(int));
for(int i = 0; i < x; i++)
{
for(int j = 0; j < y; j++)
{
scanf("%d", &A[i][j]);
//printf("%d ", A[i][j]);
}
//printf("\n");
}
//printf("\n");
for(int i = 0; i < y; i++)
{
for(int j = 0; j < z; j++)
{
scanf("%d", &B[i][j]);
//printf("%d ", B[i][j]);
}
//printf("\n");
}
//printf("\n");
for(int i = 0; i < x; i++)
{
for(int j = 0; j < z; j++)
{
int sum = 0;
for(int k = 0; k < y; k++)
{
sum += A[i][k] * B[k][j];/* 公式 */
}
C[i][j] = sum;
}
}
for(int i = 0; i < x; i++)
{
for(int j = 0; j < z; j++)
{
printf("%d ", C[i][j]);
}
printf("\n");
}
printf("\n");
return 0;
}