大厂笔试题
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.

31 lines
1.1 KiB

2 weeks ago
  1. #include <iostream>
  2. #include <iomanip>
  3. using namespace std;
  4. /*杨辉三角最终显示效果是一个等腰三角形,两个最外边都是1
  5. */
  6. int main(){
  7. int n;//变量n在此处起到了限制输出行数的作用,可优化成用户输入
  8. cin>>n;
  9. int i,j,a[n][n];
  10. //使第一列和对角线元素的值为1
  11. for (i=0;i<n;i++){ //前两行全为1,拿出来单独处理
  12. a[i][i]=1;//使最右侧边全为1
  13. a[i][0]=1;//使最左侧边全为1
  14. }
  15. //从第三行开始处理
  16. for (i=2;i<n;i++) //三行开始出现变化
  17. for (j=1;j<=i-1;j++) //j始终慢i一步
  18. a[i][j]=a[i-1][j-1]+a[i-1][j];//每个数等于它上方两数之和,如a32=a21+a22
  19. //输出数组各元素的值
  20. for (i=0;i<n;i++){ //从第一行开始
  21. for (j=0;j<=i;j++) //利用j将每一行的数据全部输出
  22. cout<<a[i][j]<<" "; //在C++中,setw(int n)用来控制输出间隔,这里是指前元素末尾与后元素末尾之间有个5空格位
  23. cout<<endl;
  24. }
  25. //cout<<endl;
  26. return 0;
  27. }