36. 打印数组的主次对角线

 1 //打印二维数组矩阵的主对角线与次对角线
 2 #include <stdio.h>
 3 
 4 int main(void)
 5 {
 6     int arr[5][5] = {1,  2, 3,  4,  5,
 7                      6,  7, 8,  9, 10,
 8                      11,12, 13,14, 15,
 9                      16,17, 18,19, 20,
10                      21,22, 23,24, 25};
11     int i,j;
12 #if 0
13     for(i=0;i<5;i++)
14     {
15         for(j=0;j<5;j++)
16         {
17             printf("%d%d ",i,j);
18         }
19         putchar(10);
20     }
21     putchar(10);
22 
23 #endif
24 
25 #if 0 //方法1,按数据在内存中存储的顺序进行基本遍历,进行筛选打印。
26 //打印主对角线
27     for(i=0;i<5;i++)
28     {
29         for(j=0;j<5;j++)
30         {
31             if(i==j)
32                 printf("%d%d ",i,j);
33         }
34         putchar(10);
35     }
36     putchar(10);
37 //打印次对角线
38     for(i=0;i<5;i++)
39     {
40         for(j=0;j<5;j++)
41         {
42             if(i+j==4)
43                 printf("%d%d ",i,j);
44         }
45         putchar(10);
46     }
47     putchar(10);
48 
49 #endif
50 
51 #if 0 //方法2 直接仅遍历两条对角线,高效。
52 //打印主对角线
53     for(i = 0;i<5;i++)
54     {
55         printf("%d ",arr[i][i]);
56     }
57     putchar(10);
58 //打印次对角线
59     for(i = 0;i<5;i++)
60     {
61         printf("%d ",arr[i][5-1-i]);
62     }
63     putchar(10);
64 
65 #endif
66 
67     return 0;
68 }
原文地址:https://www.cnblogs.com/ZhuLuoJiGongYuan/p/9498189.html