level 9
0影_舞0
楼主
如题,程序如下:
#include <stdio.h>
#include <math.h>
void main()
{int a[10][10],b[10][10],c[10][10],x1,x2,y1,y2,z1,z2,sum,m;
int i,j,k;
printf("请输入第一个矩阵的行数了列数:\n");
scanf("%d%d",&x1,&x2);
printf("请依次输入第一个矩阵的数据:\n");
for (i=0;i<x1;i++)
for (j=0;j<x2;j++)
scanf("%d",a[i][j]);
printf("请输入第二个矩阵的行数了列数:\n");
scanf("%d%d",&y1,&y2);
printf("请依次输入第二个矩阵的数据:\n");
for (i=0;i<y1;i++)
for (j=0;j<y2;j++)
scanf("%d",b[i][j]);
if (x2!=y1)
{printf("两矩阵无法相乘,请重新输入");}
else
{printf("两矩阵乘积为:\n");
for (i=0;i<x1;i++)
{ for (j=0;j<y2;j++)
{ for (k=0;k<y1;k++)
{ m=a[i][k]*b[k][j];
sum=sum+m;}
c[i][j]=sum;
printf("%6d",c[i][j]);}
printf("\n");}
}
}
2011年11月24日 13点11分
1
#include <stdio.h>
#include <math.h>
void main()
{int a[10][10],b[10][10],c[10][10],x1,x2,y1,y2,z1,z2,sum,m;
int i,j,k;
printf("请输入第一个矩阵的行数了列数:\n");
scanf("%d%d",&x1,&x2);
printf("请依次输入第一个矩阵的数据:\n");
for (i=0;i<x1;i++)
for (j=0;j<x2;j++)
scanf("%d",a[i][j]);
printf("请输入第二个矩阵的行数了列数:\n");
scanf("%d%d",&y1,&y2);
printf("请依次输入第二个矩阵的数据:\n");
for (i=0;i<y1;i++)
for (j=0;j<y2;j++)
scanf("%d",b[i][j]);
if (x2!=y1)
{printf("两矩阵无法相乘,请重新输入");}
else
{printf("两矩阵乘积为:\n");
for (i=0;i<x1;i++)
{ for (j=0;j<y2;j++)
{ for (k=0;k<y1;k++)
{ m=a[i][k]*b[k][j];
sum=sum+m;}
c[i][j]=sum;
printf("%6d",c[i][j]);}
printf("\n");}
}
}