static void Main(string[] args)
{
int i, j, k; int hang;
Console.WriteLine("请输入一个大于等于三的正奇数。");
abc:
hang = Convert.ToInt32(Console.ReadLine());//输入一个总行数
if (hang % 2 != 0)//判断输入是否正确
{
for (i = 0; i < hang / 2; i++)//这个for为输出一个菱形的上半层。
{
for (j = 0; j < hang / 2 - i; j++)//这个for为输出每一层应该输出的空格数
{
Console.Write(" ");
}
for (k = 0; k < 1 + 2 * i; k++)//这个for为输出每一层应该输出的*数
{
Console.Write("*");
}
Console.WriteLine();
}
for (i = 0; i < hang; i++)//这个一层为输出中间那一行的*数 因为中间那一行不用输出空格
{
Console.Write("*");
}
Console.WriteLine();
for (i = 0; i < hang / 2; i++)//这个for为输出的菱形下一半
{
for (j = 0; j < i + 1; j++)//同上 这时候空格在递增
{
Console.Write(" ");
}
for (k = 0; k < hang - 2 - i * 2; k++)//同上 这时候*在递减
{
Console.Write("*");
}
Console.WriteLine();
}
Console.ReadKey();
}
else
{
Console.WriteLine("你的输入有误。请重新输入!!");
goto abc;
}
}
}
}
|
|