《两个二维数组(矩阵)相乘》

 1 //两个二维数组相乘
 2 #include<stdio.h>
 3 #include<stdlib.h>
 4 #define M 2
 5 #define N 3
 6 //#define P 6
 7 void main()
 8 {
 9     int i,j,k;
10     //二维数组A和B求乘积,积放在数组C中
11     int A[M][N],B[N][M],C[M][M];
12     //输入二维数组A的元素的值
13     printf("请输入矩阵A的元素:");
14     for(i=0;i<M;i++)
15     {
16         for(j=0;j<N;j++)
17         {
18             scanf("%d",&A[i][j]);
19         }
20     }
21     printf("
");
22     //打印二维数组A的元素
23     printf("矩阵A如下:
");
24     for(i=0;i<M;i++)
25     {
26         for(j=0;j<N;j++)
27         {
28             printf("%3d",A[i][j]);
29         }
30         printf("
");
31     }
32     printf("
");
33     //输入二维数组B的元素的值
34     printf("请输入矩阵B的元素:");
35     for(i=0;i<N;i++)
36     {
37         for(j=0;j<M;j++)
38         {
39             scanf("%d",&B[i][j]);
40         }
41     }
42     printf("
");
43     //打印二维数组B的元素
44     printf("矩阵B如下:
");
45     for(i=0;i<N;i++)
46     {
47         for(j=0;j<M;j++)
48         {
49             printf("%3d",B[i][j]);
50         }
51         printf("
");
52     }
53     //数组相乘
54     printf("
矩阵A乘以矩阵B结果为:
");
55     for(i=0;i<M;i++)
56     {
57         for(j=0;j<M;j++)
58         {
59             C[i][j] = 0;
60             for(k=0;k<N;k++)
61                 C[i][j] = C[i][j]+A[i][k]*B[k][j];
62         }
63     }
64     printf("
");
65     //数组C中的值分行显示
66     for(i=0;i<M;i++)
67     {
68         for(j=0;j<M;j++)
69         {
70             printf("%3d",C[i][j]);
71         }
72         printf("
");
73     }
74     system("pause");
75 }

原文地址:https://www.cnblogs.com/sun-/p/5022107.html