从新开始学习C#就遇到了一个头疼的问题,绞尽脑汁才想出该怎么实现,由于我是新手所以代码可能有冗余或者调理不够清楚,请多多指教。
static void Main(string[] args)
{
bool flag = false; int number = 0;
while(flag==false)
{ //保证用户只能输入数字且只能为奇数
try
{
Console.WriteLine("请输入一个奇数");
number = int.Parse(Console.ReadLine());
flag = true;
if (number % 2 == 0)
{
Console.WriteLine("只允许输入奇数!!");
flag = false;
}
}
catch
{
Console.WriteLine("你输入的不是数字请重新输入!");
flag = false;
}
}
for (int i = 1; i <= number; i++)
{ //输出上半部分
if (i <= (number + 1) / 2)
{
for (int j = 1; 2 * (i + j) <= number + 1; j++)
{
Console.Write(" ");
}
for (int k = 0; k < 2 * i - 1; k++)
{
Console.Write("*");
}
Console.Write("\n");
}
else
{ //输出下半部分
int x = number - i + 1;
for (int j = 1; 2 * (x + j) <= number + 1; j++)
{
Console.Write(" ");
}
for (int k = 0; k < 2 * x - 1; k++)
{
Console.Write("*");
}
Console.Write("\n");
}
}
Console.ReadKey();
}