摘要: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:參閱不少前輩的文章,都有清楚的提到,基礎觀念越正確,會協助你的思緒更清楚更強大。
我應該要更加油>"<!!!
水滴可成涓流,涓流可成湖泊大海。
汲取累積知識,將知識堆積成常識;將常識探究成學識;將學識簡化為知識;授人自省。