一、思路:
1.先考虑每行总共有多少行星
2.思考每行需要画多少空格,画多少星
3.要怎么画空格, 第1行空格数为:星的总行数-1个空格第2行空格数为:星的总行数-2个空格。第j行空格数为:星的总行数-j,因此第J行画n-j个空格
5.要怎么画星,根据题目找规律,第1行有1个星,第2行有3个星,第3行有5个星,第4行有7个星,由数学归纳法推出第n行有2×n-1个星
二、代码展示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace sanjiao
{
class Program
{
static void Main(string[] args)
{
smajioaxing(15);
}
static void smajioaxing(int n)
{
for (int i = 1; i <= n; i++)//n为星星的行数
{
for (int j = 0; j < n- i; j++)//画星星前的空格
{
Console.Write(" ");
}
for (int j = 0; j < 2 * i - 1; j++)//画星星,每一行2n-1个星星
{
Console.Write("* ");
}
Console.WriteLine();//每打印一行换行
}
Console.ReadKey();
}
}
}
三、成果展示