zoukankan      html  css  js  c++  java
  • C语言实现矩阵乘法(4*5乘以5*3)

     1 #include <stdio.h>
     2 
     3 void calcu_maxtrix(int a[3][4],int b[4][2]) 
     4 {
     5     int c[3][2];
     6     for (int i=0;i<3;i++)
     7     {    
     8         int k;
     9         
    10         for (int j=0;j<2;j++)
    11         {
    12             int temp=0;
    13             for(k=0;k<4;k++)
    14             {
    15                 temp=temp+a[i][k]*b[k][j];
    16             }
    17             c[i][j] = temp;  
    18             printf("%d	", c[i][j]);
    19         }
    20         
    21         printf("
    ");  
    22     }   
    23 
    24 }
    25 
    26 void main()
    27 {
    28     int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
    29     int b[4][2]={{1,2},{1,2},{1,2},{1,2}};
    30     calcu_maxtrix(a,b);
    31 }
    program

    i,j分别为乘积的行数,列数,k控制每一个c[i][j]的元素为乘积和,计算成功一个c[i][j]后输出,并附带一个制表符,计算完一列后,输出一个换行符。

    结果:

    可以从键盘输入数据的形式:

     1 #include <stdio.h>
     2 
     3 void calcu_maxtrix(int a[3][4],int b[4][2]) 
     4 {
     5     int c[3][2];
     6     for (int i=0;i<3;i++)
     7     {    
     8         int k;
     9         for (int j=0;j<2;j++)
    10         {
    11             int temp=0;
    12             for(k=0;k<4;k++)
    13             {
    14                 temp=temp+a[i][k]*b[k][j];
    15             }
    16             c[i][j] = temp;  
    17             printf("%d	", c[i][j]);
    18         }
    19         
    20         printf("
    ");  
    21     }   
    22 
    23 }
    24 
    25 void main()
    26 {
    27     int i,j,m,n;
    28     int a[3][4];
    29     printf("请输入第一个数组:
    ");
    30     for(i=0;i<3;i++)
    31         for (j=0;j<4;j++)
    32             scanf("%d",&a[i][j]);
    33     
    34         
    35     int b[4][2];
    36     printf("请输入第二个数组:
    ");
    37     for(m=0;m<4;m++)
    38         for (n=0;n<2;n++)
    39             scanf("%d",&b[m][n]);
    40     printf("乘积矩阵为:
    ");
    41     calcu_maxtrix(a,b);
    42 }
    43 /*
    44     int a[3][4]={{1,2,3,4},{1,2,3,4},{1,2,3,4}};
    45     int b[4][2]={{1,2},{1,2},{1,2},{1,2}};
    46 */
    键盘输入

    一个不小心,将第二个数据也赋值给a了,要避免失误。。

    结果:

  • 相关阅读:
    vue+sass 下sass不能运行问题
    Servlet3.0的新特性
    Servlet监听器
    Servlet过滤器
    会话跟踪
    Servlet的应用
    Servlet概述
    《南怀瑾讲述99个人生道理》——刘清海编著
    Web应用程序简介
    JDBC学习总结(五)
  • 原文地址:https://www.cnblogs.com/fkl523/p/4051389.html
Copyright © 2011-2022 走看看