大家好大家 我试着解决星号树问题 ,发现我的代码不能正常工作,可以改进。用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