《兩個二維數組(矩陣)相乘》


 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 }


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM