利用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;
}