/* 例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;

}