Console.WriteLine("请输入菱形的边长");
int bianChang = int.Parse(Console.ReadLine());
int zuo = bianChang, you = bianChang;
for (int hang = 1; hang <= bianChang; hang++)
{
for (int lie = 1; lie <= bianChang * 2 - 1; lie++)
{
if (lie == zuo || lie == you)
{
Console.Write("*");
}else
{
Console.Write(" ");
}
}
if (hang != bianChang)
{
Console.WriteLine();
}
zuo--;
you++;
}
zuo++;
you--;
for (int hang = 1; hang <= bianChang; hang++)
{
for (int lie = 1; lie <= bianChang * 2 - 1; lie++)
{
if (hang == 1)
{
continue;
}if (lie == zuo || lie == you)
{
Console.Write("*");
}
else
{
Console.Write(" ");
}
}
Console.WriteLine();
zuo++;
you--;
}
此处我自己想到的方法(不代表别人没想到过啊)。
思想:先分上下,再分左右,用yuo、you标记要打印菱形的位置。