二维数组扫描操作题

 1 #include <stdio.h>
 2 /*
 3 打印以对角线为界的半面的数据
 4 
 5     int arr[5][5] = { 1, 2, 3, 4, 5,
 6                       6, 7, 8, 9,10,
 7                      11,12,13,14,15,
 8                      16,17,18,19,20,
 9                      21,22,23,24,25 };
10 
11     1.打印主对角线上半面
12     2.打印主对角线下半面
13     3.打印次对角线上半面
14     4.打印次对角线下半面
15 
16 */
17 #define M 5
18 #define N 5
19 int main(void)
20 {
21     int i,j;
22     int arr[M][N] = { 1, 2, 3, 4, 5,
23                       6, 7, 8, 9,10,
24                      11,12,13,14,15,
25                      16,17,18,19,20,
26                      21,22,23,24,25 };
27 //打印主对角线上半面
28     printf("------打印主对角线上半面------------
");
29     for(i = 0;i < M;i++)
30     {
31         for(j = 0;j < N;j++)
32         {
33             if(i>=j)
34                 putchar('	');
35             else
36                 printf("%d	",arr[i][j]);    
37         }
38         putchar(10);
39     }
40 //打印主对角线下半面
41     printf("------打印主对角线下半面------------
");
42     for(i = 0;i < M;i++)
43     {
44         for(j = 0;j<N;j++)
45         {
46             if(i<=j)
47                 putchar('	');
48             else
49                 printf("%d	",arr[i][j]);
50         }
51         putchar(10);
52     }
53 //打印次对角线上半面
54     printf("------打印次对角线上半面------------
");
55     for(i = 0;i < M;i++)
56     {
57         for(j = 0;j<N-i-1;j++)
58         {
59             printf("%d	",arr[i][j]);
60         }
61         putchar(10);
62     }
63 //打印次对角线下半面
64     printf("------打印次对角线下半面------------
");
65     for(i = 0;i < M;i++)
66     {
67         for(j = 0;j<N;j++)
68         { 
69             if(i == 0||j<N-i)
70                 putchar('	');
71             else
72                 printf("%d	",arr[i][j]);
73         }
74         putchar(10);
75     }
76 
77     return 0;
78 }
原文地址:https://www.cnblogs.com/wangchaomahan/p/9503610.html