C#怎样打印一个由*组成的圣诞树

来源:百度知道 编辑:UC知道 时间:2024/09/28 14:22:26
1 2 3 4 5
9. 打印一个由“*”组成的圣诞树,图案如下:
*
***
*****
*******
*
*
*

给你个思路,程序就不写了:

其实这颗树的上半部份是一个等差数列,第0行是1个*,第1行是3个,第2行5个,以此类推,第n行就有n*2+1 (其中n=0,1,2,3,...,注意这里以索引0行开始) 个*,这样就很容易做了,而且完全可以不局限于本题来打印类似的更大的一株树;另外一个要点是先要找到第n行的*的个数(因为它的*会是最多的),以它的中心为对齐点打印其它行的部份。

这样的题目出得很不好,因为我可以这样做:

Console.Write(" * ");
Console.Write(" *** ");
Console.Write(" ***** ");
Console.Write(" ******* ");
Console.Write(" * ");
Console.Write(" * ");
Console.Write(" * ");

你复制去看看
int a = 1;
for (int i = 1; i <= 4; i++)
{
for (a = i; a <= 4; a++)
{
Console.Write(" ");
}
for (int b = 1; b <= 2 * i - 1; b++)
{
Console.Write("*");
}