【C語言】矩陣相乘
阿新 • • 發佈:2018-12-08
#include<stdio.h> int deal(int a[][4],int b[][3],int row,int col,int r2,int c1); int main() { int r1,c1,r2,c2,r3,c3,i,j,k; scanf("%d %d",&r1,&c1); scanf("%d %d",&r2,&c2); if(c1!=r2) printf("No answer!\n"); else { int a[r1][c1],b[r2][c2]; for(i=0;i<r1;i++) { for(j=0;j<c1;j++) scanf("%d",&a[i][j]); } for(i=0;i<r2;i++) { for(j=0;j<c2;j++) scanf("%d",&b[i][j]); } r3=r1,c3=c2; int c[r3][c3]; for(i=0;i<r3;i++) { for(j=0;j<c3;j++) c[i][j]=deal(a,b,i,j,r2,c1); } for(i=0;i<r3;i++) { for(j=0;j<c3;j++) printf("%d ",c[i][j]); printf("\n"); } } return 0; } int deal(int a[][4],int b[][3],int row,int col,int r2,int c1) { int re=0,i,j; for(j=0,i=0;j<r2&&i<c1;j++) re+=a[row][i++]*b[j][col]; return re; }