21xrx.com
2024-12-27 21:19:25 Friday
登录
文章检索 我的文章 写文章
C++程序:打印杨辉三角
2023-07-02 13:22:59 深夜i     --     --
C++ 杨辉三角 打印

杨辉三角是一种由杨辉在《详解九章算术》中首先介绍的二项式系数的一种排列形式,它被称为“杨辉三角”是因为在中国早期它是出现在杨辉的数学著作中的。杨辉三角是中国古代数学的杰出成果之一,历经了几千年,现在依然被广泛地讨论及应用。

在C++程序中,我们可以使用双重循环来打印出杨辉三角。首先,我们需要定义一个整数变量n,表示要打印的行数。接下来,我们使用一个双重循环,其中外层循环控制打印的行数,内层循环控制每一行的数据。在内层循环中,我们需要使用一个数组temp来暂存上一行的数据,然后根据当前行的位置,计算并打印出该行的每一个元素。具体的代码如下:


#include <iostream>

using namespace std;

int main() {

  int n; // 打印的行数

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

  cin >> n;

  int temp[n]; // 声明一个数组用于存放上一行的数据

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

    int C = 1; // 每行第一个数字为1

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

      if (j == 0 || j == i) // 如果是第一个或最后一个数字 else { // 否则,计算该数字,并打印出来

        int new_C = temp[j-1] + temp[j];

        cout << new_C << " ";

        C = new_C;

      }

    }

    cout << endl;

    // 更新temp数组

    for (int k = i-1; k >= 0; k--) {

      temp[k+1] = temp[k];

    }

    temp[0] = C;

  }

  return 0;

}

以上程序中,我们首先使用cout和cin语句来获取要打印的行数,然后定义了一个数组temp用于存放上一行的数据。在外层循环中,我们使用变量i来控制当前打印的行数,内层循环中,我们使用变量j来控制当前行的数据,其中,变量C用于存放上一个数字。当j为0或i时,打印数字1,否则根据上一行的数据,计算出当前数字并打印出来,然后更新变量C的值。接着,我们使用另一个循环,将temp数组中的数据向右移动一位,并将第一个元素设置为C,这样我们就可以再次使用temp数组来存放下一行的数据了。最后,我们使用endl来换行,完成杨辉三角的打印。

通过这个简单的C++程序,我们可以轻松地打印出任意行数的杨辉三角,感受到中国古代智慧的博大精深。

  
  

评论区

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