菜鳥請進,高手圍觀系列—二次循環小結(C Shorp學習筆記)

前言:c#

        a、小弟被告知,二次循環及更多的循環是處理數組的精髓所在,無比深刻骨髓,強加理解數組

        b、後續每週六更新,直至結束code

一、循環位置識別及理解的經典案例it

Console.WriteLine("入學典禮");
            for (int i = 1; i <= 6; i++)
            {
                Console.WriteLine("歡迎新同窗");
                for (int j = 1; j <= 2; j++)
                {
                    Console.WriteLine("開學典禮");

                    Console.WriteLine("正在讀第{0}年級第{1}學期", i, j);

                    if (i < 6 || j == 1)
                    {
                        Console.WriteLine("期末考試");
                    }
                }
                if (i != 6)
                {
                    Console.WriteLine("正在決定升留級……");
                    Console.WriteLine("恭喜你,升級啦!");
                }

            }
            Console.WriteLine("升學考試");
            Console.WriteLine("畢業典禮");
            Console.WriteLine("恭喜你,畢業啦!");

二、以*打印直角三角形 class

//*
            //**
            //***
            //****
            //*****
            //分析:隨行數增長而增長,變化值有2個,第一爲行數,第二爲每行*個數
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j < i + 1; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

//*****
            //****
            //***
            //**
            //*
            //分析:隨行數增長而減小,變化值有2個,第一爲行數,第二爲每行*個數
            for (int i = 0; i < 5; i++)
            {
                for (int j = 0; j <5-i; j++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

三、等腰三角形循環

//    *
            //   ***
            //  *****
            // *******
            //*********
            /*分析
             * 一、隨着行數的增長,*個數增長
             * 二、每行的變化出現前面空缺,以空格符實現
             * 三、尋在每行的空格數與*號數的減小與增加的規律            
             */ 
            for (int i = 0; i < 5; i++)
            {
                //打空格
                for (int k = 0; k < 4 - i; k++)
                {
                    Console.Write(" ");
                }

                //打*號
                for (int j = 0; j < 2 * i + 1; j++)
                {
                    Console.Write("*");
                }

                //換行
                Console.WriteLine();
            }

四、菱形升級

//   *
            //  * *
            // * * *
            //* * * *
            // * * *
            //  * *
            //   *

            int length = 23;

            for (int i = 0; i < length; i++)
            {
                //上半截
                if (i < (length / 2) + 1)
                {
                    //空格 由於只有長度值得一半,故除以2
                    for (int j = 0; j < (length / 2) - i; j++)
                        Console.Write(" ");

                    //*
                    for (int k = 0; k < 2 * i + 1; k++)
                        Console.Write("*");

                    //換行
                    Console.WriteLine();
                }
                else//下半截
                {
                    //空格 由於奇數行在已經計算在上半截,因此減1
                    //length - i 指的是當前行
                    for (int j = 0; j < (length / 2) - ((length - i) - 1); j++)
                        Console.Write(" ");

                    //*
                    for (int k = 0; k < 2 * ((length - i - 1)) + 1; k++)
                        Console.Write("*");

                    //換行
                    Console.WriteLine();
                }
            }
相關文章
相關標籤/搜索