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