以等腰三角形形式打印杨辉三角。
比如:
             1
          1    1
        1    2    1
     1    3    3    1
   1    4    6    4    1
代码例如以下:
void print_line(int *
 line, int ln, int line_width)
{
         int wscount
 = (line_width-((ln+1)*4+ln))/2;
         for(int i=0;
 i<wscount; ++i)
                printf( "
 ");
         for(int i=0;
 i<ln; ++i)
        {
                printf( "%4d
 ", line[i]);
        }
        printf( "%4d\n",
 line[ln]);
}
// calculate next line of yanghui triangle
void next_line(int *
 line, int ln)
{
         int last_col
 = line[0];
         for(int col=1;
 col<=ln; ++col)
        {
                 int tmp
 = line[col];
                line[col] += last_col;
                last_col = tmp;
        }
        line[ln+1] = 1;
}
void print_yanghui(int n)
{
         if(n<=0)
                 return;
         // allocate one
 more int to avoid that next_line function writes after the end.
         int*
 line = new int[n+1];
        line[0] = 1;
         int line_width
 = n*4+(n-1);
         for(int ln=0;
 ln<n; ++ln)
        {
                print_line(line, ln, line_width);
                next_line(line, ln);
        }
         delete []line;
}
int main () {
         for(int i=0;
 i<12; ++i)
                print_yanghui(i);
         return 0;
}