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;

    }

  • 相关阅读:
    Collection集合总结
    JAVA泛型通配符T,E,K,V区别,T以及Class,Class的区别【转】
    Runnable和Thread
    jdk自带的函数式接口(配合lambda使用)
    java8-接口的静态方法(static)和默认方法(default)
    Java 8
    java8-Stream流【转】
    java8-lambda表达式
    Oracle:ORA-01461报错
    ASP.NET Core 入门笔记2,建立项目
  • 原文地址:https://www.cnblogs.com/123qw/p/4382210.html
Copyright © 2011-2022 走看看