输入一个整数n,输出n行的正三角图案。

输入一个整数n,输出n行的正三角图案。已经正确写出,有没有人能帮忙注释一下为什么要这样写?或者还有没有别的写法?
题目如下:

img


写法如下:

img

输出原理就是先输出空格,在输出*,主要就是掌握空格、*的数量和行的关系。

#include <iostream>
#include <string>
using namespace std;

int main()
{
    int n;
    cin >> n;
    for(int i=1;i<=n;i++)
    {
        string s(n-i,' '); //输出n-i个空格
        string start(2*i-1,'*'); // 输出2*i-1个*
        cout << s << start  << endl;
    }

    return 0;
}