2.题目:编一C程序,它能读入矩阵A的行数L,列数M,矩阵B的列数N,矩阵B的行数是M。L,M,N值都小于20), 以及按行读入矩阵A的L*M个元素(整数)及矩阵B的M*N个元素(整数),计算并输出A与B的矩阵乘积(按行,列输出)。(输入时,相邻的两个整数用空格隔开)。(可执行文件名为e2_2.exe)
程序设计:
main()
{int a[20][20],b[20][20],c[20][20],l,m,n,i,j,k;
printf("Please inter a[l][m] and b[m][n] of l,m,n:");
scanf("%d,%d,%d",&l,&m,&n);
printf("\n");
printf("Please inter a[l][m]:\n");
for (i=0;i<l;i++)
for (j=0;j<m;j++)
scanf("%d",&a[i][j]);
printf("Please inter b[m][n]:\n");
for (i=0;i<m;i++)
for (j=0;j<n;j++)
scanf("%d",&b[i][j]);
for (i=0;i<l;i++)
for (j=0;j<n;j++)
{c[i][j]=0;
for (k=0;k<m;k++)
c[i][j]+=a[i][k]*b[k][j];
}
printf("c[l][n]=a[l][m]*b[m][n]:");
for (i=0;i<l;i++)
{printf("\n");
for (j=0;j<n;j++)
printf("%-5d",c[i][j]);
}
printf("\n");
}