//我以前写的一个,拿出来晒晒
#include <iostream>
using namespace std;
#include <iomanip>
//使用控制符setw,必须包含头文件“iomanip”。注意:不是“iomanip.h”,至少在这个编译系统中是这样。
//例如,setw(3)的作用是为其后面一个输出项预留3列,如不足3列则右对齐,如超过3列则按实际长度输出。
int main()
{
int const N=13; //此时N取13为“最大”,再大则输出来不好看,屏幕有限!
int i,j;
int a[N][2*N+1]={0}; //所有元素置为0,注意列数扩展两列。
a[0][N]=1;
//给三角顶赋值为1
for (i=1;i<N;i++)
//从第二行开始
for(j=N-i;j<=N+i;j+=2) //注意j的取值变化。
a[i][j]=a[i-1][j-1]+a[i-1][j+1];
cout<<N<<"阶杨辉三角如下:"<<endl;
for (i=0;i<N;i++)
{
for(j=1;j<2*N;j++)//注意j的变化,即对输出列的控制。
if(a[i][j]!=0)
cout<<setw(3)<<a[i][j];
else
cout<<setw(3)<<" ";
cout<<endl;
}
cout<<endl;
return 0;
}