回复 4楼 我叫沃恩
#include<stdio.h>
main()
{
int a[20][20],b[20][20],c[20][20]={0},i,j,n,m;
printf("enter n*m\n");
scanf("%d%d",&n,&m);
printf("enter %d*%d矩阵1元素\n",n,m);
for(i=0;i<n;i++)
for(j=0;j<m;j++)
scanf("%d",&a[i][j]);//输入第一个矩阵
printf("enter %d*%d矩阵2元素\n",m,n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&b[i][j]);////输入第二个矩阵
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
for(int k=0;k<m;k++)
c[i][j]=c[i][j]+a[i][k]*b[k][j];//结果矩阵
}
printf("矩阵的乘积是:\n");
for(i=0;i<m;i++)//这是打印出相乘的效果
{
if(i<n)
for(j=0;j<m;j++)
printf("%4d",a[i][j]);
if((i==n/2)&&(i<n))
printf("
*
");
else
printf("
");
for(j=0;j<n;j++)
printf("%4d",b[i][j]);
if((i==n/2)&&(i<n))
printf("
=
");
else
printf("
");
if(i<n)
for(j=0;j<n;j++)
printf("%5d",c[i][j]);
printf("\n");
if(i==n-1)
{ char d=' ';
for(int p=0;p<m;p++)
printf("%3c",d);
printf("
");
}
}
}
运行试试你就知道问题出在哪?输入2 3在测试3 4没发现就试试4 5