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("\n");
22 //打印二维数组A的元素
23 printf("矩阵A如下:\n");
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("\n");
31 }
32 printf("\n");
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("\n");
43 //打印二维数组B的元素
44 printf("矩阵B如下:\n");
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("\n");
52 }
53 //数组相乘
54 printf("\n矩阵A乘以矩阵B结果为:\n");
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("\n");
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("\n");
73 }
74 system("pause");
75 }
![]()