解题思想:首先我们打印一个n行的菱形,一般菱形都是奇数行的(好看一点),所以我们打印出来的是一个奇数行的菱形,一般是这个形式:
解题思路:我们可以把菱形看成两部分,看成是上面一个正三角和下面一个反三角组成,然后我们分别打印出来就可以了。
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();
}
若有不妥,请多多指教 ,欢迎大家提问。
相关