题目是否有问题. m * n的矩阵和n * p的矩阵.相乘的结果应该是一个m * p的矩阵.
因此,以上面的例子,得到的应该是一个2 * 4的矩阵.
下面是代码:
#include< stdio.h >
main()
{
int m, n, p, i, j, k;
int A[ 10 ][ 10 ], B[ 10 ][ 10 ], C[ 10 ][ 10 ];
scanf("%d%d%d", &m, &n, &p);
for( i = 0; i < m; i++ )
{
for( j = 0; j < n; j++ )
{
scanf("%d", &A[ i ][ j ]);
}
}
for( i = 0; i < n; i++ )
{
for( j = 0; j < p; j++ )
{
scanf("%d", &B[ i ][ j ]);
}
}
for( i = 0; i < m; i++ )
for( j = 0; j < p; j++ )
{
C[ i ][ j ] = 0;
for( k = 0; k < n; k++ )
C[ i ][ j ] += A[ i ][ k ] * B[ k ][ j ];
}
for( i = 0; i < m; i++ )
{
for( j = 0; j < p; j++ )
printf( "%d ", C[ i ][ j ] );
printf( "\n" );
}
}