需求:打印金字塔,菱形,如:
首先定义行数n,对金字塔而言,空格依次递减,星号依次递增。菱形以行数位分界点,从0-n与金字塔相同,从n到2n-1行规律相反;因此需要以n位基准,用行数与n相减求绝对值,方法如下:
public static void PrintDiamond(int n)
{
for (int i = 1; i <= 2 * n - 1; i++) // 金字塔则只需在该行将2n-1改为n即可
{
for (int j = 1; j <= Math.Abs(n - i); j++)
Console.Write(" ");
for (int k = 1; k <= 2 * (n - Math.Abs(i - n)) - 1; k++)
Console.Write("*");
Console.WriteLine();
}
}
时间: 2024-10-25 03:42:00