You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#include <iostream>
#include <iomanip>
using namespace std;
/*杨辉三角最终显示效果是一个等腰三角形,两个最外边都是1
杨辉三角的根本在于,每个数等于它上方两数之和 */ int main(){ int n;//变量n在此处起到了限制输出行数的作用,可优化成用户输入
cin>>n; int i,j,a[n][n];
//使第一列和对角线元素的值为1
for (i=0;i<n;i++){ //前两行全为1,拿出来单独处理
a[i][i]=1;//使最右侧边全为1
a[i][0]=1;//使最左侧边全为1
}
//从第三行开始处理
for (i=2;i<n;i++) //三行开始出现变化
for (j=1;j<=i-1;j++) //j始终慢i一步
a[i][j]=a[i-1][j-1]+a[i-1][j];//每个数等于它上方两数之和,如a32=a21+a22
//输出数组各元素的值
for (i=0;i<n;i++){ //从第一行开始
for (j=0;j<=i;j++) //利用j将每一行的数据全部输出
cout<<a[i][j]<<" "; //在C++中,setw(int n)用来控制输出间隔,这里是指前元素末尾与后元素末尾之间有个5空格位
cout<<endl; } //cout<<endl;
return 0; }
|