[C#] 迴圈小練習

  • 14259
  • 0
  • C#
  • 2015-05-14

摘要:C# 迴圈小練習

有天,突然被一個進修的朋友問到程式迴圈的相關的問題,他邊問,我邊回答的很心虛!仔細想想迴圈與陣列,算是程式的基礎,而我………對他們卻很陌生。

所以翻出以前學校老師要我們做的測驗題..練習一下!!

題目如下:

1.輸入一個數字,讓星號(*)按順序排列成下列圖形例如:

輸入數字4

**

***

****

解題:


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace PT_HelloWord //命名空間
{
    class Program //宣告類別
    {
        static void Main(string[] args)
        {
            System.Console.WriteLine("請輸入數字:");//輸出主控台
            int Z = int.Parse(Console.ReadLine());//讓變數Z等同輸入的數字

            string Y = ""; 
            for (int i = 0; i < Z; i++)
            {
                string X = "*";
                if (i == 0)
                {
                    Y = X;
                }
                else
                {
                    Y = X + Y;
                }
                System.Console.WriteLine(Y);//輸出主控台
	}
    }
}

另外的解法:


        static void Main(string[] args)
        {
            System.Console.WriteLine("請輸入數字:");//輸出主控台
            int Z = int.Parse(Console.ReadLine());//讓變數Z等同輸入的數字
            for (int i = 0; i < Z; i++)
            {
                for (int j = 0; j < i + 1; j++)

                {
                    System.Console.Write("*");
                }
                System.Console.Write("\n");
            }
		}

2.輸入一個數字,讓星號(*)按順序排列成下列圖形1

例如:輸入數字3

**

***

**

解法1:


        static void Main(string[] args)
        {
            System.Console.WriteLine("請輸入數字:");//輸出主控台
            int Z = int.Parse(Console.ReadLine());//讓變數Z等同輸入的數字
            for (int i = 0; i < Z; i++)
            {
                for (int j = 0; j < i + 1; j++)

                {
                    System.Console.Write("*");
                }
                System.Console.Write("\n");
            }

            for (int i = Z - 1; i >= 0; i--) 
            { 
                for (int j = 0; j < i  ; j++)
                {
                    System.Console.Write("*");
                }
                System.Console.Write("\n");
            }
}

解法2:


     static void Main(string[] args)
        {
	    System.Console.WriteLine("請輸入數字:");//輸出主控台
            int Z = int.Parse(Console.ReadLine());//讓變數Z等同輸入的數字
            for (int i = 1; i <= 2 * Y - 1; i++)
            {
                string X = "";
                for (int j = 1; j <= (i <= Y ? i : (i - 2 * (i - Y))); j++)
                {
                    X += "*";
                }
                System.Console.WriteLine(X);
            }
            System.Console.ReadLine();
	}

寫完之後,赫然發現,解題方法真的不少。有機會真的要多多練習!!

PS:參閱不少前輩的文章,都有清楚的提到,基礎觀念越正確,會協助你的思緒更清楚更強大。

我應該要更加油>"<!!!

水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。