21xrx.com
2024-11-22 07:29:47 Friday
登录
文章检索 我的文章 写文章
C++ 实现杨辉三角数组输出
2023-07-06 06:11:51 深夜i     --     --
C++ 杨辉三角 数组输出

杨辉三角是一种经典的数列,它的特点是每个数等于上方两数之和。杨辉三角也被称为帕斯卡三角,因为它的数列与帕斯卡公式有着密切的联系。在编程语言 C++ 中,我们可以使用循环和数组来实现杨辉三角的输出。

首先,我们需要使用一个二维数组来存储杨辉三角的数列。因为杨辉三角的行数是固定的,所以我们可以先定义一个常量来表示它的行数。在本例中,我们将定义杨辉三角的行数为 10 。

const int ROW_NUM = 10;

int pascalTriangle[ROW_NUM][ROW_NUM];

接着,我们可以使用两层 for 循环来填充这个二维数组。第一层循环用于遍历每一行,第二层循环用于遍历每一列。在填充数组时,我们需要根据杨辉三角的规律来计算每个数的值。

for (int i = 0; i < ROW_NUM; i++) {

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

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

      // 杨辉三角的首尾数字都为1

      pascalTriangle[i][j] = 1;

    } else {

      // 其他数字为上方两数之和

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

    }

  }

}

最后,我们可以使用嵌套的 for 循环来输出这个数组,从而得到杨辉三角的数列。

for (int i = 0; i < ROW_NUM; i++) {

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

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

  }

  cout << endl;

}

完整的代码如下所示。

#include

using namespace std;

const int ROW_NUM = 10;

int main() {

  int pascalTriangle[ROW_NUM][ROW_NUM];

  for (int i = 0; i < ROW_NUM; i++) {

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

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

        pascalTriangle[i][j] = 1;

      } else {

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

      }

    }

  }

  for (int i = 0; i < ROW_NUM; i++) {

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

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

    }

    cout << endl;

  }

  return 0;

}

  
  

评论区

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