1. 程式人生 > >循環的妙用

循環的妙用

要掌握 lin while循環 inpu 步驟 過程 猜想 有時 技術

  當我們在學習程序設計的過程中,我們會發現有很多重復的步驟,變化的僅僅是當中的某一個變量,這就要引入我們的一個重要的知識——“循環”。循環就是重復執行語句,這是個很方便又很有意思的技術,可以重復操作任意多次,而不必編寫相同的代碼。很多復雜的計算,我們可以通過循環交給電腦,僅僅兩行代碼,坐享其成,何樂而不為呢。

  目前,在面向過程的程序設計時,循環起到了核心的作用,大部分的問題都需要通過循環解決,使用比較頻繁的便是while循環和for循環。在使用循環的過程中,需要有很強的邏輯能力,對每個變量的變化和程序過程的控制都要掌握清楚,有時候需要更加精細地控制循環代碼的處理,還要對循環中斷的節奏掌握到位。很多程序還要用到無限循環和中斷來提升用戶的使用體驗。

  下面舉一個經典的例子:哥德巴赫猜想,用這個經典而簡單的C#程序來展示面向過程的程序設計對循環的應用。

while (true)

{

Console.Clear();

Console.Write("請輸入一個大於2的偶數:");

int input = int.Parse(Console.ReadLine());

if (input <= 2 || input % 2 != 0)

{

Console.Write("輸入的數字有誤,按Enter鍵返回輸入");

Console.ReadLine();

continue;

}

//先找出從2開始到input-2的所有數

for (int i = 2; i < input - 1; i++)

{

bool isFind = false;

//判斷這個數是不是質數

for (int j = 2; j < i; j++)

{

if (i % j == 0)

{

isFind = true;

break;

}

}

//如果這個數已經不是質數,就直接進行下一輪循環,判斷下一個數

if (isFind == true)

{

continue;

}

//如果這個數是質數,就判斷cha是不是質數

else

{

int cha = input - i;

for (int j = 2; j < cha; j++)

{

if (cha % j == 0)

{

isFind = true;

break;

}

}

//如果cha不是質數,就直接進入下一輪循環,判斷下一個數

if (isFind == true)

{

continue;

}

//如果cha也是質數,就舉例成功,並且退出查找的循環

else

{

Console.WriteLine(input+"="+i+"+"+cha);

break;

}

}

}

Console.Write("Enter鍵返回重新輸入");

Console.ReadLine();

}

循環的妙用