zoukankan      html  css  js  c++  java
  • 蓝桥杯——矩阵相乘

    输入两个矩阵,分别是m*s,s*n大小。输出两个矩阵相乘的结果。

    输入格式
      第一行,空格隔开的三个正整数m,s,n(均不超过200)。
      接下来m行,每行s个空格隔开的整数,表示矩阵A(i,j)。
      接下来s行,每行n个空格隔开的整数,表示矩阵B(i,j)。
    输出格式
      m行,每行n个空格隔开的整数,输出相乘後的矩阵C(i,j)的值。
    答案:

    #include <stdio.h>

    int main(int argc, const char * argv[]) { 

        //输入m,s,n,确定矩形的规模

        int m,s,n;

        scanf("%d%d%d",&m,&s,&n);

        //输入数据,确定两个矩阵

        int i,j;

        int first[m][s];

        int second[s][n];

        

        for (i = 0; i < m; i ++) {

            for (j = 0; j < s ; ++j) {

                scanf("%d",&first[i][j]);

            }

        }

        for (i = 0; i < s; ++ i) {

            for (j = 0; j < n; ++ j) {

                scanf("%d",&second[i][j]);

            }

        }

        //两个矩阵相乘

        int third[m][n];

        int z;

        int total=0;

        for (i = 0; i < m; ++i) {

            for (j = 0; j < n; ++j) {

                for (total= z = 0; z < s; ++z) {

                    total += first[i][z]*second[z][j];

                }

                third[i][j] = total;

            }

        }

        //将矩阵相乘的结果打印出来

        for (i = 0; i < m; ++i) {

            for (j = 0; j < n; ++j) {

                printf("%d ",third[i][j]);

            }

            printf(" ");

        }

        

        return 0;

    }

  • 相关阅读:
    vim字符串替换命令
    Android中View的事件分发机制——Android开发艺术探索笔记
    jQuery源代码框架思路
    C指针——C语言手记
    Python基础二--基本控制语句
    C++中的链式操作
    求一个字串中最长的连续字符串
    C# -- 推断字符能否转化为整形
    Loadrunner检查点使用总结
    LoadRunner设置检查点的几种方法介绍
  • 原文地址:https://www.cnblogs.com/123qw/p/4382210.html
Copyright © 2011-2022 走看看