
#include <iostream>
#include <iomanip>
using namespace std;
int main(int argc, char* args[])
{
//便于窗体显示
system("mode con cols=128 lines=32");
int nLine;
//cin >> nLine;
//test
nLine = 11;
int* arrLineRecord = new int[nLine + 1]();
const int nBaseYangValue = 1;
//行数
for (int i = 1; i <= nLine; i++)
{
//格式化:)
cout << right << setw(4 * (nLine - i + 1)) << " ";
int indexCurrentNewValue = 0;
//列数
for (int index = 1; index <= i; index++)
{
//取出上一行的 当前索引 值
int indexCurrentValue = arrLineRecord[index];
//取出上一行的 当前前一索引 值
int indexBeforeValue = arrLineRecord[index - 1];
//还原上一次 新的当前索引值
arrLineRecord[index - 1] = indexCurrentNewValue;
//新的当前索引值
indexCurrentNewValue = indexBeforeValue + indexCurrentValue;
//杨辉三角基值
indexCurrentNewValue = indexCurrentNewValue == 0 ? nBaseYangValue : indexCurrentNewValue;
//输出新的当前索引值
cout << right << setw(8) << indexCurrentNewValue;
//结束
if (index == i)
arrLineRecord[index] = indexCurrentNewValue;
}
//换行
cout << endl;
}
delete[] arrLineRecord;
system("pause");
return 0;
}