代码改变世界

两个矩阵相乘!

2012-04-07 21:01  璋廊  阅读(421)  评论(0编辑  收藏  举报
/***********
两个矩阵相乘;输入n,m分别代表是行、列,接下来是矩阵的元素;
输入x、y另一个矩阵的行和列,接下来是矩阵的元素
*************/
#include<stdio.h>
#include<string.h>
int main()
{
	int a[20][20],b[20][20],c[20][20];
	int n,m,i,j,k,x,y;
	scanf("%d%d",&n,&m);
	for(i=1;i<=n;i++)
		for(j=1;j<=m;j++)
			scanf("%d",&a[i][j]);
	scanf("%d%d",&x,&y);
	for(i=1;i<=x;i++)
		for(j=1;j<=y;j++)
			scanf("%d",&b[i][j]);
		if(m!=x)
		{
		
			printf("这两个矩阵不能相乘!\n");
		}
		else {
			printf("a*b相乘后的矩阵!、\n");
		for(i=1;i<=n;i++)//核心代码;
			for(j=1;j<=y;j++)
			{
				c[i][j]=0;
				for(k=1;k<=m;k++)
					c[i][j]+=a[i][k]*b[k][j];
			}
			for(i=1;i<=n;i++)
			{
				for(j=1;j<=y;j++)
					printf("%d ",c[i][j]);
					printf("\n");
			}
		}
	return 0;
}