/* 例5.11 杨辉三角形(《信息学奥赛一本通》) */ #include<iostream> #include<iomanip> using namespace std; int main() { int a[11][11];
//设定第一行的值
a[1][1]=1;
//从第二行开始推
for (int i=1; i<=10; ++i)
{
//设定每一行的首尾值为1
a[i][1]=1;
a[i][i]=1;
//当前行非首尾的数
//每个数等于上一行的二个数之和
for (int j=2; j<=i-1; ++j)
{
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
for (int i=1; i<=10; i++)
{
//控制每行的起始位置,即空格数量
if (i!=10) cout<<setw(30-3*i)<<" ";
for (int j=1; j<=i; j++) cout<<setw(6)<<a[i][j];
cout<<endl;
}
return 0;
}