前言: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(); } }