zoukankan      html  css  js  c++  java
  • L1-8 矩阵A乘以B(15 分)

    给定两个矩阵A和B,要求你计算它们的乘积矩阵AB。需要注意的是,只有规模匹配的矩阵才可以相乘。即若A有R​a​​行、C​a​​列,B有R​b​​行、C​b​​列,则只有C​a​​与R​b​​相等时,两个矩阵才能相乘。

    • 输入格式:
      输入先后给出两个矩阵A和B。对于每个矩阵,首先在一行中给出其行数R和列数C,随后R行,每行给出C个整数,以1个空格分隔,且行首尾没有多余的空格。输入保证两个矩阵的R和C都是正数,并且所有整数的绝对值不超过100。
    • 输出格式:
      若输入的两个矩阵的规模是匹配的,则按照输入的格式输出乘积矩阵AB,否则输出Error: Ca != Rb,其中Ca是A的列数,Rb是B的行数。
      输入样例1:
      2 3
      1 2 3
      4 5 6
      3 4
      7 8 9 0
      -1 -2 -3 -4
      5 6 7 8
      输出样例1:
      2 4
      20 22 24 16
      53 58 63 28
      输入样例2:
      3 2
      38 26
      43 -5
      0 17
      3 2
      -11 57
      99 68
      81 72
      输出样例2:
      Error: 2 != 3
    #include<stdio.h>
    #include<string.h>
    int main()
    {
    	int i,j,k,x,y,n,m,a[124][124],b[124][124],c;
    	scanf("%d%d",&x,&y);
    	for(i=0;i<x;i++)
    	{
    		for(j=0;j<y;j++)
    		{
    			scanf("%d",&a[i][j]);
    		}
    	}
    	scanf("%d%d",&m,&n);
    	for(i=0;i<m;i++)
    	{
    		for(j=0;j<n;j++)
    		{
    			scanf("%d",&b[i][j]);
    		}
    	}
    	if(y!=m)
    	{
    		printf("Error: %d != %d",y,m);
    	}
    	else
    	{
    		printf("%d %d
    ",x,n);
    		for(i=0;i<x;i++)
    		{
    			if(i)
    			printf("
    ");
    			for(j=0;j<n;j++)
    			{
    				c=0;
    				for(k=0;k<y;k++)
    				{
    					c+=a[i][k]*b[k][j];
    				}
    				if(j)
    				printf(" ");
    				printf("%d",c);
    			}
    		}
    	}
    }
    
  • 相关阅读:
    混合 App 打开 H5 调试开关
    国内申请苹果美区ID
    windows鼠标右键文件太多
    已经配置好了的 jmeter + ant 框架
    fiddler的使用:抓包定位、模拟弱网
    jmeter响应数据中文乱码处理
    jmeter设置中文语言
    Jmeter使用CSV Data参数化,中文参数传递过程出现乱码问题
    monkey详解
    Chrome F12 谷歌开发者工具解析
  • 原文地址:https://www.cnblogs.com/ai1045152332/p/8577992.html
Copyright © 2011-2022 走看看