21xrx.com
2024-12-26 16:35:05 Thursday
登录
文章检索 我的文章 写文章
用C++实现杨辉三角
2023-07-10 07:13:40 深夜i     --     --
C++ 杨辉三角 数组 循环 递推

杨辉三角是一种非常有趣的数学图形,它不仅可以帮助我们理解数学的概念,还可以在编程中得到很好的应用。这里我们将使用C++语言来实现杨辉三角。

首先需要明确,杨辉三角是一种由数字组成的三角形,其特点是每一行都由数字组成,每个数字是由上方两个数字相加得到的。而在每一行的开头和结尾都是1。例如,杨辉三角的前5行如下所示:

       1

      1  1

     1  2  1

    1  3  3  1

   1  4  6  4  1

为了实现杨辉三角,我们可以使用C++的多维数组来表示这个图形。首先确定杨辉三角的行数,然后创建一个二维数组,第一维代表行数,第二维代表每一行的数字。我们可以通过循环语句来计算每个数字,并将结果保存在数组中。具体实现过程如下:


#include <iostream>

using namespace std;

int main()

{

  int n;

  cout << "请输入要输出的行数:";

  cin >> n;

  int triangle[n][n];

  for(int i = 0; i < n; i++)

  {

    for(int j = 0; j <= i; j++)

    {

      if(j == 0 || j == i)

        triangle[i][j] = 1;

      else

        triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];

    }

  }

  for(int i = 0; i < n; i++)

  {

    for(int j = 0; j <= i; j++)

    {

      cout << triangle[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

上述代码中,我们首先要求用户输入要输出的行数。然后创建了一个n x n的二维数组triangle,用来保存杨辉三角的数据。

接着通过两层循环计算出每一行的数字,并将其保存在数组中。循环的第一层控制行数,第二层控制每一行的数字。

在第二层循环中,首先判断该位置是否在当前行的开头或结尾,如果是,则将该位置设为1。否则,通过上一行相邻两个数字相加来计算该位置的数字。

最后,我们通过又两层循环,输出整个杨辉三角的数据。其中第一层循环控制行数,第二层循环控制每一行的数字。

总的来说,使用C++实现杨辉三角并不是很复杂,只需要嵌套使用两层循环即可。同时,在编程中我们还可以加入一些其他的控制逻辑,使计算更加方便和灵活。

  
  

评论区

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