蛇形矩阵

 1 //蛇形矩阵
 2 #include <stdio.h>
 3 #define N 5
 4 
 5 int main()
 6 {
 7     int i, j, k, a[N][N];
 8     int circle = 0;
 9     for(i=0; i<N; i++)
10         for(j=0; j<N; j++)
11             a[i][j] = 0;
12     i = 0; j = 0; k=1;
13     while(circle <= N/2)
14     {
15         if(i==(0+circle) && j==(0+circle))
16         {
17             while(j<N-circle) a[i][j++] = k++;
18             i=1+circle;j=N-1-circle;
19         }
20         if(i==(1+circle) && j==(N-1-circle))
21         {
22             while(i<N-circle) a[i++][j] = k++;
23             i=N-1-circle; j=N-2-circle;
24         }
25         if(i==(N-1-circle) && j==(N-2-circle))
26         {
27             while(j>=0+circle)a[i][j--] = k++;
28             i=N-2-circle; j=0+circle;
29         }
30         if(i==(N-2-circle) && j==(0+circle))
31         {
32             while(i>=1+circle) a[i--][j] = k++;
33             circle++;
34             i=circle; j=circle;
35         }
36     }
37     printf("\n");
38     for(i=0; i<N; i++)
39     {
40         printf("\t");
41         for(j=0; j<N; j++)
42             printf("%4d", a[i][j]);
43         printf("\n");
44     }
45     return 0;
46 }
蛇形矩阵

 

posted @ 2016-04-03 21:29  LoveYaner  阅读(126)  评论(0编辑  收藏  举报