矩阵相乘- 直接运行
#include <stdio.h>
#define N 10
void input(int [][N],int ,int);
void print(int [][N],int ,int);
void mul(int [][N],int [][N],int [][N],int ,int ,int );
int main()
{
int a[N][N],b[N][N],c[N][N];
int m,n,p;
scanf("%d%d%d",&m,&n,&p);
input(a,m,n);
input(b,n,p);
mul(a,b,c,m,n,p);
print(a,m,n);
print(b,n,p);
print(c,m,p);
return 0;
}
void input(int c[ ][N],int m,int n)
{ int i,j;
srand(time(0));
for(j=0;j<m;j++)
for(i=0;i<n;i++)
c[j][i]=rand()%5+1;
}
void print(int d[][N],int m,int n)
{ int i,j;
for(j=0;j<m;j++)
{ for(i=0;i<n;i++)
printf("%2d ",d[j][i]);
printf("\n");
}
printf("\n");
}
void mul(int a[][N],int b[][N],int c[][N],int m,int n,int p)
{
int i,j,k,s;
for(i=0;i<m;i++)
for(j=0;j<p;j++)
{ s=0;
for(k=0;k<n;k++)
s=s+a[i][k]*b[k][j];
c[i][j]=s;
}
}