矩阵相乘(二维数组的运用)

两个矩阵相乘

核心思想:矩阵C中的元素C[i][j]=矩阵A中的第i行与矩阵B中的第j列对应位置每个值的乘积之和。


题目描述
矩阵A规模是n×m,矩阵B规模是m×p,现在需要你求A*B
输入
输入n,m。然后输入n×m的矩阵。
输入p,然后输入m×p的矩阵。
1<=n,m,p<=100
-10000<=矩阵元素<=10000
输出
输出相乘后的n×p的矩阵
样例输入
2 3
1 2 3
3 2 1
2
1 1
2 2
3 3
样例输出
14 14
10 10

#include<stdio.h>
const int N=3;
const int K=2;
const int M=3; 
int main()
{
	 int i,j,t=0;
	 int a[N][K],b[K][M],c[N][M];
	 
	 printf("请输入二维数组a:");
	 for(i = 0; i < N; i++)
	 {
	  
	  for(j = 0; j < K; j++)
	  {
	   scanf("%d",&a[i][j]);
	  }
	 }
	 printf("请输入二维数组b: ");
	 for(i = 0; i < K; i++)
	 {
	 
	  for(j = 0; j < M; j++)
	  {
	   scanf("%d",&b[i][j]);
	  }
	 }
	 printf("\n");
	 for(i = 0; i < N; i++)
	 {
	  for(j = 0; j < M; j++)
	  {
	   c[i][j] = 0;
	   for(int m = 0;m < K; m++)
	   {
	    c[i][j] = c[i][j] + a[i][m] * b[m][j];
	   }
	     
	  }
	 }
	 
	 for(i = 0; i < N; i++)
	 {
	  for(j = 0; j < M; j++)
	  {
	   printf("%5d",c[i][j]);
	  }
	  printf("\n");
	 }
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值