大家好大家 我試着解決星號樹問題 ,發現我的代碼不能正常工作,可以改進。用C創建星號樹#
這是預期
輸入輸出:5
*
* * *
* * * * *
* * *
*
輸入:4
* * * *
* *
* * * *
,這是我的代碼
static void Main(string[] args)
{
Console.Write("input:");
char input = Console.ReadKey().KeyChar;
if (char.IsDigit(input))
{
int couter = (int)char.GetNumericValue(input);
Console.WriteLine();
if (couter % 2 != 0)
{
for (int i = 1; i <= couter; i++)
{
for (int j = 3; j > i; j--)
{
Console.Write(" ");
}
for (int k = 1; k <= i; k++)
{
Console.Write(" *");
}
Console.WriteLine();
}
for (int i = couter - 1; i >= 3; i--)
{
for (int j = 1; j <= i; j++)
{
if (j <= couter - i)
{
Console.Write(" ");
}
else
{
Console.Write("* ");
}
}
Console.WriteLine();
}
}
else
{
for (int i = couter; i > 3; i--)
{
for (int j = 1; j <= i; j++)
{
if (couter - i >= j)
{
Console.Write(" ");
}
else
{
Console.Write("* ");
}
}
Console.WriteLine();
}
for (int i = couter - 1; i <= couter; i++)
{
for (int j = 0; j < i; j++)
{
Console.Write("* ");
}
Console.WriteLine();
}
}
}
}
請你能幫助我解決這個問題問題。
最近,我覺得我在算法和一個小複雜的問題很差。有沒有人知道有用的鏈接,或者我可以如何提高這項技能,請讓我知道。
感謝,
3和6的所需輸出如何? – 2011-04-06 18:36:54
我認爲你需要比5或4 Console.WriteLine()更通用的東西嗎?我想你想打印一個大小爲n的鑽石,而不僅僅是5,我又對了嗎? – digEmAll 2011-04-06 18:52:40