解题思想:首先我们打印一个n行的菱形,一般菱形都是奇数行的(好看一点),所以我们打印出来的是一个奇数行的菱形,一般是这个形式:

1.png

解题思路:我们可以把菱形看成两部分,看成是上面一个正三角和下面一个反三角组成,然后我们分别打印出来就可以了。

            Console.WriteLine("输入一个大于2的正整数");//至少3行才能出一个菱形,输入一个偶数菱形就是这个偶数减1行
            int n = Convert.ToInt32(Console.ReadLine());            for (int i = 1; i <= (n + 1) / 2; i++) //打印菱形的上面部分
            {                for (int j = (n - 1) / 2; j >= i; j--)
                {    //打印空格
                    Console.Write(" ");
                }                for (int k = 1; k <= i * 2 - 1; k++)
                {   //打印“*”号,第i行有i*2-1个“*”号
                    Console.Write("*");
                }
                Console.WriteLine();
            }            for (int i = (n - 1) / 2; i >= 1; i--)//打印菱形下面的部分 与上面部分同理
            {                for (int j = i - 1; j < (n - 1) / 2; j++)
                {
                    Console.Write(" ");
                }                for (int k = 1; k <= i * 2 - 1; k++)
                {
                    Console.Write("*");
                }
                Console.WriteLine();
            }

若有不妥,请多多指教 ,欢迎大家提问。

相关

怎样用C#打印一个n行的菱形?实战详解