矩阵乘积

https://www.51nod.com/Challenge/Problem.html#!#problemId=1137

给出2个N * N的矩阵M1和M2,输出2个矩阵相乘后的结果。

输入

第1行:1个数N,表示矩阵的大小(2 <= N <= 100)
第2 - N + 1行,每行N个数,对应M1的1行(0 <= M1[i] <= 1000)
第N + 2 - 2N + 1行,每行N个数,对应M2的1行(0 <= M2[i] <= 1000)

输出

输出共N行,每行N个数,对应M1 * M2的结果的一行。

输入样例

2
1 0
0 1
0 1
1 0

输出样例

0 1
1 0
#include<stdio.h>
#define N 120
int a[N][N],b[N][N],ans[N][N];
int main()
{
	int n,i,j,p,q;
	scanf("%d",&n);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			scanf("%d",&a[i][j]);
	for(i=1;i<=n;i++)
		for(j=1;j<=n;j++)
			scanf("%d",&b[i][j]);
	for(p=1;p<=n;p++)
	{
		for(q=1;q<=n;q++)
		{
			for(i=1;i<=n;i++)
				ans[p][q]+=a[p][i]*b[i][q];
		}
	}
	for(i=1;i<=n;i++)
	{
		for(j=1;j<=n;j++)
			printf("%d ",ans[i][j]);
		printf("\n");	
	}	
	return 0;			
}

 

题目描述

计算两个矩阵A和B的乘积。

 

输入

第一行三个正整数m、p和n,0<=m,n,p<=10,表示矩阵A是m行p列,矩阵B是p行n列;

接下来的m行是矩阵A的内容,每行p个整数,用空格隔开;

最后的p行是矩阵B的内容,每行n个整数,用空格隔开。

 

输出

输出乘积矩阵:输出占m行,每行n个数据,以空格隔开。

 

样例输入

2 3 4

1 0 1
0 0 1

1 1 1 3
4 5 6 7
8 9 1 0

 

样例输出

9 10 2 3
8 9 1 0
#include<stdio.h>
#define N 20
int a[N][N],b[N][N],ans[N][N];
int main()
{
	int m,n,i,j,p,q;
	scanf("%d%d%d",&m,&p,&n);
	for(i=1;i<=m;i++)
		for(j=1;j<=p;j++)
			scanf("%d",&a[i][j]);
	for(i=1;i<=p;i++)
		for(j=1;j<=n;j++)
			scanf("%d",&b[i][j]);
	for(i=1;i<=m;i++)
		for(j=1;j<=n;j++)
			 for(q=1;q<=p;q++)
			 	ans[i][j]+=a[i][q]*b[q][j];
	for(i=1;i<=m;i++)
	{
		for(j=1;j<=n;j++)
			printf("%d ",ans[i][j]);
		printf("\n");
	}
	return 0;			
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张宜强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值