杨辉三角

#include <bits/stdc++.h>
using namespace std;

long long int a[100][100];
/*杨辉三角最终显示效果是一个等腰三角形,两个最外边都是1
  杨辉三角的根本在于,每个数等于它上方两数之和
*/
int main()
{
    int i,j,n;
      cin >> n ;
  //边 界 值 置 为 1
      for ( i = 1 ; i <= n ; i++ ){
        a[i][i] = 1 ;
         a[i][1] = 1 ;
      }

  //从第三行开始处理
      for ( i = 3 ; i  <= n ; i++ )
        for ( j = 2 ; j <= i - 1 ; j++ )
               a[i][j] = a[i-1][j-1] + a[i-1][j] ;//每个数等于它上方两数之和,如a32=a21+a22
 
  //输出数组各元素的值
      for( i = 1 ; i <= n ; i++ ){        
         for ( j = 1 ; j <= i ; j++ )        
               cout << setw(5) << a[i][j] <<" ";    //在C++中,setw(int n)用来控制输出间隔,这里是指前元素末尾与后元素末尾之间有个5空格位
             cout << endl ;
      }

      return 0;
}

posted @ 2021-06-15 10:17  D_coding_blog  阅读(81)  评论(0)    收藏  举报