zoukankan      html  css  js  c++  java
  • 控制台打印螺旋数组

    最近园里面在聊打印螺旋数组,我业余写了一个自己的实现,如下:
     
    代码
    static void Main(string[] args)
            {
                
    int n = 0;

                
    try
                {
                    n 
    = Convert.ToInt32(Console.ReadLine());
                }
                
    catch {
                    Console.WriteLine(
    "Error");
                }

                
    int[,] arr = new int[n, n];

                Spiral(n, arr);

                PrintMatrix(n, arr);

                Console.ReadLine();
            }

            
    //螺旋数组
            public static void Spiral(int n,int[,] matrix)
            {
                
    int i = 0, j = 0, m = 0, k = 0;

                
    for (m = 0; m < n; m++)
                {

                    
    //方向→
                    for (i = m, j = m; j < n - m; j++)
                    {
                        matrix[i, j] 
    = ++k;
                    }
                    j
    --;
                    
                    
    //方向↓
                    for (i = i + 1; i < n - m; i++)
                    {
                        matrix[i, j] 
    = ++k;
                    }
                    i
    --;

                    
    //方向←
                    for (j = j - 1; j >= m; j--)
                    {
                        matrix[i, j] 
    = ++k;
                    }
                    j
    ++;


                    
    //方向↑
                    for (i = i - 1; i > m; i--)
                    {
                        matrix[i, j] 
    = ++k;
                    }
                    i
    ++;
                }
            }

           
            
    //打印
            public static void PrintMatrix(int n,int[,] matrix)
            {
                
    for (int a = 0; a < n; a++)
                {
                    
    for (int b = 0; b < n; b++)
                    {
                        
    if (matrix[a, b] < 10)
                        {
                            Console.Write(
    "0{0} ", matrix[a, b]);
                        }
                        
    else
                        {
                            Console.Write(
    "{0} ", matrix[a, b]);
                        }
                    }
                    Console.WriteLine();
                }
            }
  • 相关阅读:
    JS仿FLASH特效可跳转回首页的CSS二级联动菜单
    来自Individuality纯CSS打造的笔记本样式的菜单导航
    Jquery仿Flash效果的3款滑动菜单
    简约漂亮的JS下拉风格的导航条
    还不错来自老外的Milonic DHTML/JavaScript Menu菜单导航
    摘自当当网的36类商品分类菜单
    纯CSS实现的蓝色竖向导航代码
    JS打造可折叠展开的导航菜单(Slashdot Menu)
    纯CSS打造的圆角下拉导航菜单
    Jquery仿FLASH特效超漂亮的CSS菜单
  • 原文地址:https://www.cnblogs.com/Kurodo/p/1688586.html
Copyright © 2011-2022 走看看