两个矩阵相乘
如果把矩阵的元素都换成int型就没有问题了,我用的是float型
为什么呀
main()
{
float a[100][100],b[100][100],c[100][100],temp,result;
int m,p,n;
int i,j,k;
printf("\nplease scanf the m,p,n!");
scanf("%d %d %d",&m,&p,&n);
printf("\nplease scanf the num of a!");
for(i=0;i<=m-1;i++)
{
for(j=0;j<=p-1;j++)
scanf("%f",&a[i][j]);
}
printf("\nplease scanf the num of b!");
for(i=0;i<=p-1;i++)
{
for(j=0;j<=n-1;j++)
scanf("%f",&b[i][j]);
}
temp=0;
result=0;
for(i=0;i<=m-1;i++)
{
for(j=0;j<=n-1;j++)
{
for(k=0;k<=p-1;k++)
{
temp=a[i][k]*b[k][j];
result+=temp;
}
c[i][j]=result;
result=0;
}
}
printf("\nc[m][n]=a[m][p]*b[p][n]\n");
for(i=0;i<=m-1;i++)
{
for(j=0;j<=n-1;j++)
{
printf("%4f",c[i][j]);
}
printf("\n");
}
}