21xrx.com
2024-09-19 23:58:25 Thursday
登录
文章检索 我的文章 写文章
C++编写杨辉三角
2023-06-30 21:15:11 深夜i     --     --
C++ 杨辉三角 数组 循环 递归

杨辉三角是一种非常有趣的数学图形,又称为帕斯卡三角形。它的形状像一个金字塔,左右对称,中间数字为1,下面每个数字都是上面两个数字之和。这个图形在数学、计算机科学等领域都有着广泛的应用,我们可以使用C++语言来编写一个简单的杨辉三角程序。

首先,我们需要定义一个二维数组来存储杨辉三角中的数字。因为杨辉三角的每一行的个数不同,所以我们需要使用动态数组来实现。在C++中,我们可以使用vector来定义动态数组,而不需要指定数组的大小。

接下来,我们需要使用嵌套循环来计算杨辉三角中的数字。外循环用于遍历每一行,内循环用于计算每一行中的数字。在内循环中,我们只需要根据上面两个数字之和来计算当前数字,然后将它放入数组中即可。

最后,我们可以使用一个简单的for循环来打印出杨辉三角。在每一行中,我们只需要打印出该行中所有的数字,然后换行即可。

下面是一个完整的C++程序,可用于计算并打印出前n行杨辉三角。


#include<iostream>

#include<vector>

using namespace std;

int main()

{

  int n;

  cout << "请输入要计算的杨辉三角的行数:";

  cin >> n;

  vector<vector<int>> triangle(n);

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

  {

    triangle[i].resize(i+1);

    triangle[i][0] = 1;

    triangle[i][i] = 1;

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

    {

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

    }

  }

  cout << "前" << n << "行杨辉三角如下:" << endl;

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

  {

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

    {

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

    }

    cout << endl;

  }

  return 0;

}

在上面的程序中,我们首先从用户那里接收要计算的行数,然后定义了一个大小为n的vector。接下来,我们使用嵌套循环计算每一行中的数字,并将它们放入vector中。最后,我们打印出了杨辉三角中的所有数字。运行这个程序,你会得到类似下面的输出:


请输入要计算的杨辉三角的行数:6

前6行杨辉三角如下:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

通过这个简单的程序,你可以更深入地理解杨辉三角的数学规律,并学习如何使用C++来实现。

  
  

评论区

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