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 }