static void Main(string[] args)
{
const int n = 4;
int i = 0;
bool f = false;
while (i >= 0)
{
for (int j = 0; j < n - i - 1; ++j)
Console.Write(" ");
for (int j = 0; j < 2 * i + 1; ++j)
Console.Write("*");
Console.WriteLine();
if (i == n - 1)
f = true;
if (!f) ++i;
else --i;
}
Console.ReadKey();
我给你画个过程就明白了,你把它想成俩个三角形,先看上面的三角(0代表空格)下半部要比上半部少一行,这样才能成菱形
000*
00***
0*****
*******
下面是
0*****
00***
000*
|