C#基礎練習之打印菱形

答應菱形

         * 輸出菱形
         * 輸入n,用*輸出邊長爲n的菱形(空心與實心兩種)

C#代碼實現如下:

這裏沒有使用數組。但思想是一樣的。
基本思想就是。按每一行進行打印,一行一行進行判斷。
例如:判斷第一行的所有列有哪些地方需要打印*號,哪些不需要,一行一行推下去就行。

//提示用戶輸入
            Console.WriteLine("請輸入一個整數邊長以打印菱形:");

            //定義n保存用戶輸入
            int n = Int32.Parse(Console.ReadLine());

            //打印空心
            Console.WriteLine("邊長爲{0}空心菱形如下:", n);
            for (int i = 1; i < 2 * n; i++)
            {
                for (int j = 1; j < 2 * n; j++)
                {
                    if ((i + j == n + 1) || (j - i == n - 1) || (i - j == n - 1) || (i + j == 3 * n - 1))
                    {
                        Console.Write("*");
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
                Console.WriteLine();
            }

            Console.WriteLine("-------------------------------");

            //打印實心
            Console.WriteLine("邊長爲{0}實心菱形如下:", n);
            for (int i = 1; i < 2 * n; i++)
            {
                for (int j = 1; j < 2 * n; j++)
                {
                    //滿足以下條件的打印*,否則打印空格
                    if (i <= n && i + j == n + 1)
                    {
                        for (int l = 1; l <= i; l++)
                        {
                            Console.Write("* ");
                        }
                    }
                    else if (i > n && i - j == n - 1)
                    {
                        for (int s = 1; s <= 2 * n - i; s++)
                        {
                            Console.Write("* ");
                        }
                    }
                    else
                    {
                        Console.Write(" ");
                    }
                }
                //打印一行後換行
                Console.WriteLine();
            }

以下是運行結果展示:
打印菱形5

好了,這個問題就到這,有疑問可以私聊博主。

純手打。
給個關注唄!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章