C# 二维数组 回形输出

来源:互联网 发布:java 线程池 executor 编辑:程序博客网 时间:2024/05/01 01:56

 

static void Main(string[] args)
        {
 
 
 
            //数组的回形输出
 
            int[,] a = new int[5,5] {{1,2,3,4,5},
           {6,7,8,9,10},
           {11,12,13,14,15},
           {16,17,18,19,20},
           {21,22,23,24,25}};
 


            //原样输出
            //for (int o = 0; o < 5; o++)
            //{
            //    for (int p = 0; p < 5; p++)
            //    {
            //        Console.Write(a[o, p] + "/t");
 
            //    }
            //    Console.Write("/n");
            //}  
   
            int m=5,n=5;
            int i=0,j=0;
            //回行的环数
            int count = 0;
            while(count<3)
            {
                i = count;
                j = count;
                while (j < n-count)
                {
                    //指定输出元素的位置,原来在哪输出还在哪
                    //Console.SetCursorPosition((j+1)*10, i+1);
                    //输出元素
                    Console.Write(a[i, j] );
                    j++;
                }
 
                j--;
                i++;
 
                while (i < m-count)
                {
                   // Console.SetCursorPosition((j + 1) * 10, i + 1);
                    Console.Write(a[i, j]);
                    i++;
                }
                i--;
                j--;
 
                while (j >= count)
                {
                    //Console.SetCursorPosition((j + 1) * 10, i + 1);
                    Console.Write(a[i, j]);
                    j--;
                }
 
                j++;
                i--;
 
                while (i > count)
 
                {
                    //Console.SetCursorPosition((j + 1) * 10, i + 1);
                    Console.Write(a[i, j]);
                    i--;
                }
                //环数++
                count++;
     
               
            }