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("------打印主对角线上半面------------\n");
29 for(i = 0;i < M;i++)
30 {
31 for(j = 0;j < N;j++)
32 {
33 if(i>=j)
34 putchar('\t');
35 else
36 printf("%d\t",arr[i][j]);
37 }
38 putchar(10);
39 }
40 //打印主对角线下半面
41 printf("------打印主对角线下半面------------\n");
42 for(i = 0;i < M;i++)
43 {
44 for(j = 0;j<N;j++)
45 {
46 if(i<=j)
47 putchar('\t');
48 else
49 printf("%d\t",arr[i][j]);
50 }
51 putchar(10);
52 }
53 //打印次对角线上半面
54 printf("------打印次对角线上半面------------\n");
55 for(i = 0;i < M;i++)
56 {
57 for(j = 0;j<N-i-1;j++)
58 {
59 printf("%d\t",arr[i][j]);
60 }
61 putchar(10);
62 }
63 //打印次对角线下半面
64 printf("------打印次对角线下半面------------\n");
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('\t');
71 else
72 printf("%d\t",arr[i][j]);
73 }
74 putchar(10);
75 }
76
77 return 0;
78 }