下面是一个简单的代码示例:
#include <iomanip>
#include <iostream>
#include <sstream>
#include <string>
using std::cin;
using std::cout;
using std::ostream;
using std::ostringstream;
using std::right;
using std::setw;
using std::string;
void tree(ostream&, int n);
void tree(ostream& o, int n)
{
auto indent = [](auto amount) { return string(static_cast<string::size_type>(amount), ' '); };
auto format = [](auto value) { ostringstream s; s << right << setw(3) << value; return s.str(); };
for (int i = 1; i <= n; ++i)
{
o << indent((n - i) * 3);
for (int x = 1; x < i * 2; ++x)
{
o << format(i + (x - 1) * 2 + (x > i ? x - i : 0) * -4);
}
o << '\n';
}
}
int main()
{
int input_n = 0;
if (cin >> input_n)
{
tree(cout, input_n);
}
}