杨辉三角
#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;
}

浙公网安备 33010602011771号