21xrx.com
2025-03-27 19:15:25 Thursday
文章检索 我的文章 写文章
C++实现杨辉三角形的打印
2023-07-05 02:59:45 深夜i     --     --
C++ 杨辉三角形 实现 打印 代码

杨辉三角形是中国古代数学发展历程中的一种经典的图形,它由每行数字左右对称排列,在对称轴上的数字都是1,其余每个数字是它左上方和右上方的两个数字之和。而C++语言则是一种简单易学且适用范围广泛的编程语言。本文将介绍如何使用C++语言实现杨辉三角形的打印。

1. 首先,定义一个变量n,用于表示打印的行数,并向用户请求输入行数:

int n;
cout << "请输入要打印的行数:";
cin >> n;

2. 接下来,定义一个二维数组tri,用于存储杨辉三角形的数字。将数组中所有元素初始化为0:

int tri[n][n];
for(int i = 0; i < n; i++){
  for(int j = 0; j < n; j++){
    tri[i][j] = 0;
  }
}

3. 对于第一列和对称轴上的数字,都赋值为1:

for(int i = 0; i < n; i++){
  tri[i][0] = 1;
  tri[i][i] = 1;
}

4. 对于其余数字,则根据公式tri[i][j] = tri[i-1][j-1] + tri[i-1][j]来计算:

for(int i = 2; i < n; i++){
  for(int j = 1; j < i; j++){
    tri[i][j] = tri[i-1][j-1] + tri[i-1][j];
  }
}

5. 最后将数组中对应位置上的数字输出即可:

for(int i = 0; i < n; i++){
  for(int j = 0; j <= i; j++){
    cout << tri[i][j] << " ";
  }
  cout << endl;
}

完整代码如下:

#include <iostream>
using namespace std;
int main(){
  int n;
  cout << "请输入要打印的行数:";
  cin >> n;
  
  int tri[n][n];
  for(int i = 0; i < n; i++){
    for(int j = 0; j < n; j++){
      tri[i][j] = 0;
    }
  }
  
  for(int i = 0; i < n; i++){
    tri[i][0] = 1;
    tri[i][i] = 1;
  }
  
  for(int i = 2; i < n; i++){
    for(int j = 1; j < i; j++){
      tri[i][j] = tri[i-1][j-1] + tri[i-1][j];
    }
  }
  
  for(int i = 0; i < n; i++){
    for(int j = 0; j <= i; j++){
      cout << tri[i][j] << " ";
    }
    cout << endl;
  }
  
  return 0;
}

以上就是使用C++语言实现杨辉三角形的打印的方法。通过简单的代码实现,我们可以深入理解杨辉三角形中的规律,同时也能够加深对C++语言的了解和熟练度。欢迎大家学习和分享。

  
  

评论区