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\t", c[i][j]);
19         }
20         
21         printf("\n");  
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\t", c[i][j]);
18         }
19         
20         printf("\n");  
21     }   
22 
23 }
24 
25 void main()
26 {
27     int i,j,m,n;
28     int a[3][4];
29     printf("请输入第一个数组:\n");
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("请输入第二个数组:\n");
37     for(m=0;m<4;m++)
38         for (n=0;n<2;n++)
39             scanf("%d",&b[m][n]);
40     printf("乘积矩阵为:\n");
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了,要避免失误。。

结果:

转载于:https://www.cnblogs.com/fkl523/p/4051389.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值