#include<stdio.h>
#include<stdlib.h>
main(){
int A1,A2,B1,B2;
int **a,**b,**c;
int i,j,x,y,z;
scanf("%d %d %d %d",&A1,&A2,&B1,&B2);
a = (int **) malloc(sizeof(int *) * A1);
for (j=0;j<A1;j++){
a[j] = (int *) malloc(sizeof(int) * A2);
}
b = (int **) malloc(sizeof(int *) * B1);
for (j=0;j<B1;j++){
b[j] = (int *) malloc(sizeof(int) * B2);
}
c = (int **) malloc(sizeof(int *) * A1);
for (j=0;j<A1;j++){
c[j] = (int *) malloc(sizeof(int) * B2);
}
for (i=0;i<A1;i++) for(j=0;j<A2;j++) scanf("%d",&a[i][j]);
for (i=0;i<B1;i++) for(j=0;j<B2;j++) scanf("%d",&b[i][j]);
for (i=0;i<A1;i++)
{ x=i;
for (j=0;j<B2;j++)
{
y=j; c[i][j]=0;
for (z=0;z<A2;z++) {
c[i][j] += a[x][z] * b[z][y];
};
}
};
for (i=0;i<A1;i++) {
for (j=0;j<B2;j++) printf("%d ",c[i][j]);
printf("\n");
}
return 0;
}
输入输出:
2 3 3 2
1 2 0
2 0 4
1 4
0 2
3 0
1 8
14 8
温馨提示:内容为网友见解,仅供参考