#include <stdio.h>
#define M 3
#define S 4
#define N 2
void multiply(int A[M][S], int B[S][N], int C[M][N])
{
}
int main()
{
int i, j;
int A[M][S], B[S][N], C[M][N];
printf("Please input A:\n");
for (i = 0; i < M; i ++)
for (j = 0; j < S; j ++)
scanf("%d", &A[i][j]);
printf("Please input B:\n");
for (i = 0; i < S; i ++)
for (j = 0; j < N; j ++)
scanf("%d", &B[i][j]);
multiply(A,B,C);
printf("C=\n");
for (i = 0; i < M; i ++){
for (j = 0; j < N; j ++)
printf("%d ", C[i][j]);
printf("\n");
}
return 0;
}
程序运行示例:
Please input A:
1 2 3 4
5 6 7 8
4 7 9 2
Please input B:
2 6
4 8
4 6
3 9
C=
34 76
86 192
78 152
供参考:
#include <stdio.h>
#define M 3
#define S 4
#define N 2
void multiply(int A[M][S], int B[S][N], int C[M][N])
{
int i, j, k;
for(i=0;i<M;i++) //rowa
{
for (j=0;j<N;j++)//colb
{
for (k=0,C[i][j]=0;k<S;k++)//cola
C[i][j] += A[i][k] * B[k][j];
}
}
}
int main()
{
int i, j;
int A[M][S], B[S][N], C[M][N];
printf("Please input A:\n");
for (i = 0; i < M; i ++)
for (j = 0; j < S; j ++)
scanf("%d", &A[i][j]);
printf("Please input B:\n");
for (i = 0; i < S; i ++)
for (j = 0; j < N; j ++)
scanf("%d", &B[i][j]);
multiply(A,B,C);
printf("C=\n");
for (i = 0; i < M; i ++){
for (j = 0; j < N; j ++)
printf("%d ", C[i][j]);
printf("\n");
}
return 0;
}