下文是对各种星型打印的总结
C# Code:
class Program
{
static void Main(string[] args)
{
const int MAX_ROWS = 10;
//打印矩形星型
/*for (int row = 1; row <= MAX_ROWS; row++)
{
Console.Write("**********");
Console.WriteLine();
}*/
//打印直角三角形星型(星往左堆积:直立和倒立的)
/*for (int row = 1; row <= MAX_ROWS; row++)
{
for (int star = 1; star <= row; star++) //内部循环每次迭代打印一个星;
Console.Write("*");//完成后它不移动到下一行;
Console.WriteLine();
}
/*for (int row = 1; row <= MAX_ROWS; row++)
for (int row = 1; row <= MAX_ROWS; row++)
{
for (int star = 10; star >= row; star--)//内部循环每次迭代打印十个星;
Console.Write("*");
Console.WriteLine();
}*///注意这两种情况由于空格堆积在右边,所以不用再特意去循环空格;
//打印直角三角形星型(星往右堆积:直立和倒立)
/*for (int row = 1; row <= MAX_ROWS; row++)
{
for (int blank = 9; blank >= row ; blank--)//打印9个空格
Console.Write(" ");
for (int star = 1; star <= row; star++)//打印一个星
Console.Write("*");
Console.WriteLine();
}*/
/*for (int row = 1; row <= MAX_ROWS; row++)
{
for (int blank = 0; blank <= row; blank++)
Console.Write(" ");
for (int star = 10; star >= row; star--)
Console.Write("*");
Console.WriteLine();
}*/
//打印菱形星型(分开两部分分别是等腰三角形)
for (int row = 1; row<=5; row++)
{
for (int blank = 5-row; blank >=1; blank--)//左边每行需要输出5-row个空格,右边空格不用管:4,3,2,1
Console.Write(" ");
for (int star = 1; star <=2 * row -1; star++)//1,3,5,7,9
Console.Write("*");
Console.WriteLine();
}
for (int row = 5; row >= 1; row--)
{
for (int blank = 1; blank <= 5 - row; blank++)//左边每行需要输出5-row个空格,右边空格不用管:1,2,3,4
Console.Write(" ");
for (int star = 2 * row - 1; star >= 1; star--)//9,7,5,3,1
Console.Write("*");
Console.WriteLine();
}
Console.ReadKey();
}
}