螺旋矩阵

题目:输入一个正整数,打印输出如下的螺旋矩阵(其中一个)

      1   2   3   4

    12  13  14  5

    11  16  15  6

    10  9   8   7、

代码:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace 螺旋矩阵
 7 {
 8     class Program111
 9     {
10         static void Main(string[] args)
11         {
12             int n;
13             Console.Write("请输入一个正整数:");
14             n = Convert.ToInt32(Console.ReadLine());
15             int[,] a = new int[n, n];
16             int i, j,count=1;
17             for (i = 0; i < n/2; i++)
18             {
19                 //矩形回路的上边
20                 for (j = i; j <=n - i-1; j++)
21                     a[i, j] = count++;
22                 //矩形回路的右边
23                 for (j = i + 1; j <n - i - 1; j++)
24                     a[j, n - i - 1] = count++;
25                 //矩形回路的下边
26                 for (j = n - i - 1; j > i; j--)
27                     a[n - i - 1, j] = count++;
28                 //矩形回路的左边
29                 for (j = n - i - 1; j > i; j--)
30                     a[j, i] = count++;
31             }
32             //判断矩形是奇数还是偶数的矩形
33             if (n % 2 == 1)
34             {
35                 a[n / 2, n / 2] = count;
36             }
37             //打印输出矩形
38             for (i = 0; i < n; i++)
39             {
40                 for (j = 0; j < n; j++)
41                     Console.Write(a[i, j]+"\t");
42             Console.WriteLine();       
43             }
44                
45                     Console.Read();
46         }
47     }
48 }

 

posted @ 2017-09-29 13:20  淡淡的烦恼  阅读(197)  评论(0编辑  收藏  举报