1 #include <stdio.h>
2 #include <stdlib.h>
3
4 int m, n, p, q;
5 int a[10][10], b[10][10], c[10][10];
6 int i, j, k;
7
8 void initial()
9 {
10
11 printf("请输入第一个矩阵的行数和列数:");
12 scanf("%d%d", &m, &n);
13 printf("请输入第二个矩阵的行数和列数:");
14 scanf("%d%d", &p, &q);
15
16 if (n != p)
17 {
18 printf("矩阵无法相乘");
19 exit(0);
20 }
21 printf("请输入第一个矩阵:");
22 for (i = 0; i < m; i++)
23 {
24 for (j = 0; j < n; j++)
25 {
26 scanf("%d\n", &a[i][j]);
27 }
28 }
29 printf("请输入第二个矩阵:");
30 for (i = 0; i < p; i++)
31 {
32 for (j = 0; j < q; j++)
33 {
34 scanf("%d\n", &b[i][j]);
35 }
36 }
37 }
38
39 void calc()
40 {
41 for (i = 0; i < m; i++)
42 {
43 for (j = 0; j < q; j++)
44 {
45 c[i][j] = 0;
46 for (k = 0; k < n; k++)
47 {
48 c[i][j] += a[i][k] * b[k][j];
49 }
50 }
51 }
52 }
53
54 void print()
55 {
56 for (i = 0; i < m; i++)
57 {
58 for (j = 0; j < q; j++)
59 {
60 printf("%d ", c[i][j]);
61 }
62 printf("\n");
63 }
64 }
65
66 int main()
67 {
68 initial();
69 calc();
70 print();
71 return 0;
72 }