PTA L1-048 矩阵A乘以B C语言

这篇具有很好参考价值的文章主要介绍了PTA L1-048 矩阵A乘以B C语言。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目:

pta矩阵a乘以b,PTA天梯赛,c语言,Powered by 金山文档

输入样例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

首先得知道乘积矩阵是如何算出来的

也就是:

第一个矩阵第一行的每个值与第二个矩阵第一列的每个值对应相乘后加和起来,就得到了乘积矩阵的第一行的第一个值

第一个矩阵第一行的每个值与第二个矩阵第二列的每个值对应相乘后加和起来,就得到了乘积矩阵的第一行的第二个值

第一个矩阵第一行的每个值与第二个矩阵第三列的每个值对应相乘后加和起来,就得到了乘积矩阵的第一行的第三个值

......

第一个矩阵第二行的每个值与第二个矩阵第一列的每个值对应相乘后加和起来,就得到了乘积矩阵的第二行的第一个值

……

由此我们也可以知道想得到乘积矩阵的话,两个相乘的矩阵规模必须匹配,也就是说第一个矩阵的列必须等于第二个矩阵的行。

举个例子:

矩阵a

1 2 3
4 5 6

矩阵b

1 2
3 4
5 6

乘积矩阵ab:

第一行:第一个元素:1*1+2*3+3*5=22 第二个元素:1*2+2*4+3*6=28

第二行:第一个元素:4*1+5*3+6*5=49 第二个元素:4*2+5*4+6*6=64文章来源地址https://www.toymoban.com/news/detail-770105.html

22 28
49 64

题目代码如下:

#include <stdio.h>

int main()
{
    int a1,a2,b1,b2;//a1,a2第一个矩阵的行列;b1,b2第二个矩阵的行列
    
    scanf("%d %d",&a1,&a2);
    int num1[a1][a2];//创建第一个矩阵
    
    for(int i = 0;i<a1;i++)//为第一个矩阵赋值
    {
        for(int j = 0;j<a2;j++)
        {
            scanf("%d",&num1[i][j]);
        }
    }
    
    scanf("%d %d",&b1,&b2);//创建第二个矩阵
    int num2[b1][b2];
    
    for(int i = 0;i<b1;i++)//为第二个矩阵赋值
    {
        for(int j = 0;j<b2;j++)
        {
            scanf("%d",&num2[i][j]);
        }
    }
        if(a2!=b1)//判断矩阵是否匹配
            printf("Error: %d != %d",a2,b1);//不匹配则输出
        else//匹配则继续往下
        {
            printf("%d %d\n",a1,b2);//先输出乘积矩阵的行列
            
            for(int i = 0;i<a1;i++)//乘积矩阵每个元素的实现
            {
                for(int j = 0;j<b2;j++)
                {
                    int ret = 0;//暂时储存乘积矩阵的一个元素
                    
                    for(int k = 0;k<b1;k++)
                    {
                        //此层循环结束,则乘积矩阵的一个元素形成
                        ret += (num1[i][k] * num2[k][j]);
                    }
                    printf("%d",ret);//输出这个值
                    if(j<b2-1)//为格式做准备,最后一个值的后面没有空格
                        printf(" ");
                }
                printf("\n");//换行
            }
        }
    return 0;
}

结果:

pta矩阵a乘以b,PTA天梯赛,c语言,Powered by 金山文档

到了这里,关于PTA L1-048 矩阵A乘以B C语言的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023 PTA天梯赛补题(L1 & L2)

    输入输出题 输入输出题 k == n 和 k == m 分别输出,题目怎么说就怎么做 判断一下c 等于a + b还是a*b或者都不是,分别按要求输出 针对每一群玩游戏的宝宝,枚举判断一下就好了 写的有点烦,基本就是一步一步模拟,思路在注释里写了 枚举分配方案,代码中a代表女生寝室的数

    2024年02月03日
    浏览(41)
  • PTA——L1-023 输出GPLT(c语言)

    给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字符重新调整顺序,按 GPLTGPLT.... 这样的顺序输出,并忽略其它字符。当然,四种字符(不区分大小写)的个数不一定是一样多的,若某种字符已经输出完,则余下的字符仍按 GPLT 的顺序打印,直到所有字符都被输

    2024年02月13日
    浏览(37)
  • A乘以B PTA

    题目: 看我没骗你吧 —— 这是一道你可以在 10 秒内完成的题:给定两个绝对值不超过 100 的整数 A 和 B,输出 A 乘以 B 的值。 输入格式: 输入在第一行给出两个整数 A 和 B(−100≤A,B≤100),数字间以空格分隔。 输出格式: 在一行中输出 A 乘以 B 的值。 输入样

    2024年01月19日
    浏览(81)
  • PTA L2-048 寻宝图

    给定一幅地图,其中有水域,有陆地。被水域完全环绕的陆地是岛屿。有些岛屿上埋藏有宝藏,这些有宝藏的点也被标记出来了。本题就请你统计一下,给定的地图上一共有多少岛屿,其中有多少是有宝藏的岛屿。 输入第一行给出 2 2 2 个正整数 N N N 和 M M M ( 1 N × M ≤ 1 e

    2024年02月02日
    浏览(73)
  • 7-1 天梯地图 (PTA-数据结构)

    本题要求你实现一个天梯赛专属在线地图,队员输入自己学校所在地和赛场地点后,该地图应该推荐两条路线:一条是最快到达路线;一条是最短距离的路线。题目保证对任意的查询请求,地图上都至少存在一条可达路线。 输入格式: 输入在第一行给出两个正整数 N (2 ≤

    2024年02月02日
    浏览(45)
  • 团体程序设计天梯赛----pta 练习集

    这道超级简单的题目没有任何输入。 你只需要在一行中输出著名短句“Hello World!”就可以了。 解法 略 本题要求你写个程序把给定的符号打印成沙漏的形状。例如给定17个“*”,要求按下列格式打印 解法 记录一下个数就好 给定一个 k 位整数 N,请编写程序统计每种不同的个

    2024年02月13日
    浏览(47)
  • L1-095 分寝室PTA

    学校新建了宿舍楼,共有 n 间寝室。等待分配的学生中,有女生 n0​ 位、男生 n1​ 位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。 现请你写程序完成寝室的自动分配。分配规则如下: 男女生不能混住; 不允许单人住一间寝

    2024年02月10日
    浏览(45)
  • 【PTA】L1-039 古风排版(C++)

    题目链接:L1-039 古风排版 - 团体程序设计天梯赛-练习集 (pintia.cn)  目录: 题目要求: 输入格式: 输出格式: 输入样例: 输出样例: 思路: 代码: 测试结果: ​编辑  中国的古人写文字,是从右向左竖向排版的。本题就请你编写程序,把一段文字按古风排版。 输入在第

    2024年03月26日
    浏览(96)
  • PTA L1-095 分寝室 (20 分)

    学校新建了宿舍楼,共有 n n n 间寝室。等待分配的学生中,有女生 n 0 n_0 n 0 ​ ​ 位、男生 n 1 n_1 n 1 ​ ​位。所有待分配的学生都必须分到一间寝室。所有的寝室都要分出去,最后不能有寝室留空。 现请你写程序完成寝室的自动分配。分配规则如下: 男女生不能混住; 不

    2023年04月23日
    浏览(37)
  • 【PTA】L1-059 敲笨钟(C++)

    题目链接:L1-059 敲笨钟 - 团体程序设计天梯赛-练习集 (pintia.cn)  题目要求:  输入格式: 输出格式: 输入样例: 输出样例: 思路:  代码: 测试结果: 微博上有个自称“大笨钟V”的家伙,每天敲钟催促码农们爱惜身体早点睡觉。为了增加敲钟的趣味性,还会糟改几句古

    2024年04月11日
    浏览(75)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包