21xrx.com
2024-11-22 09:28:59 Friday
登录
文章检索 我的文章 写文章
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++语言的了解和熟练度。欢迎大家学习和分享。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复