利用string构造函数特性可以简化代码

#include <string>
using namespace std;

int main() {
    int n;
    while (cin >> n) {
        // 上半部分
        for (int i = 1; i <= n; ++i) {
            cout << string(n - i, ' ') << string(2 * i - 1, '*') << endl;
        }
        // 下半部分
        for (int i = n - 1; i >= 1; --i) {
            cout << string(n - i, ' ') << string(2 * i - 1, '*') << endl;
        }
    }
    return 0;
}