实验7-2-9 螺旋方阵

 1 #include <stdio.h>
 2 
 3 int main(void)
 4 {
 5     int n, i, j, number;
 6     int array[10][10];
 7     int top, bottom, left, right;
 8     
 9     scanf("%d", &n);
10     top = 0;        //
11     bottom = n - 1; //
12     left = 0;       //
13     right = n - 1;  //
14     
15     number = 0;
16     //旋转的圈数
17     for (j = 0; j <= n / 2; j++)
18     {
19         //向左
20         for (i = left; i <= right; i++)
21         {
22             number++;
23             array[top][i] = number;
24         }
25         top++;
26         
27         //向下
28         for (i = top; i <= bottom; i++)
29         {
30             number++;
31             array[i][right] = number;
32         }
33         right--;
34         
35         //向左
36         for (i = right; i >= left; i--)
37         {
38             number++;
39             array[bottom][i] = number;
40         }
41         bottom--;
42         
43         //向上
44         for (i = bottom; i >= top; i--)
45         {
46             number++;
47             array[i][left] = number;
48         }
49         left++;
50     }
51     
52     for (i = 0; i < n; i++)
53     {
54         for (j = 0; j < n; j++)
55         {
56             printf("%3d", array[i][j]);
57         }
58         printf("\n");
59     }
60     
61     return 0;
62 }

 

posted @ 2020-06-18 14:24  jason2018  阅读(415)  评论(1编辑  收藏  举报