使菱形在c#的中间有一条线

问题描述 投票:0回答:1

因此,我需要制作一个程序,该程序将打印出菱形形状,中间有一条线,边等于该线,然后用户输入该值。我已经尝试过了,但是我只能打印出没有线条的钻石,或者将它分割成一个空心金字塔和一个倒置空心金字塔,但是这样我得到的形状是中间有2条线,任何帮助都至关重要!

示例:输入5

输出:

    *
   * *
  *   *
 *     *
*********
 *     *
  *   *
   * *
    *
c# console console-application shapes
1个回答
0
投票

尝试

    static void Main(string[] args)
    {
        DrawDiamond(5);
    }


    public static void DrawDiamond(int size)
    {
        int rowSize = size * 2 - 1;
        int center = size - 1;

        for (int i = -center; i <= center; i++)
        {
            char[] s = new string('.', rowSize).ToArray();
            int n = center - Math.Abs(i);
            s[center - n] = '*';
            s[center + n] = '*';
            if (n == center) { s = new string('*', rowSize).ToArray(); }
            System.Console.WriteLine(s);
        }
    }

输出:

....*....
...*.*...
..*...*..
.*.....*.
*********
.*.....*.
..*...*..
...*.*...
....*....
© www.soinside.com 2019 - 2024. All rights reserved.