21xrx.com
2024-12-22 22:19:15 Sunday
登录
文章检索 我的文章 写文章
用C++实现打印杨辉三角等腰三角形
2023-07-05 13:46:05 深夜i     --     --
C++ 打印 杨辉三角 等腰三角形

杨辉三角是一种有趣的数字组合图形,由中国著名数学家杨辉于13世纪发现而得名。该图形可用于解决各种组合问题,而且可以用C++语言实现打印。

首先,让我们来看一下杨辉三角及其规律。杨辉三角的第一行只有一个数字1,而下一行的数字是上一行相邻两个数字的和。例如,第二行是1 1,第三行是1 2 1,第四行是1 3 3 1,以此类推。杨辉三角是等腰三角形,每一行的数字从两边向中间对称,所以可以简单地用两重循环语句来实现打印。下面是用C++语言实现打印杨辉三角的代码:


#include <iostream>

using namespace std;

int main() {

  int n;

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

  cin >> n;

  int arr[100][100] = { 0 }; // 数组初始化为0

  arr[0][0] = 1; // 第一行为1

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

    arr[i][0] = 1; // 每行第1个数字为1

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

      arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; // 每个数字为上一行两个数字之和

    }

  }

  // 打印杨辉三角

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

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

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

    }

    cout << endl;

  }

  return 0;

}

代码中使用了二维数组来存储杨辉三角的数字,其大小为100×100,避免了数组越界。为了初始化数组,定义了`arr[100][100] = { 0 }`,这样数组中的所有值都为0。接着,第一行的值设为1,即`arr[0][0] = 1`。然后,使用两重循环语句分别遍历每一行和每一列,计算出每个数字的值,最终打印出杨辉三角。

运行程序后,会提示用户输入要打印的行数,输入后即可输出对应的杨辉三角。例如,输入5后,输出如下:


请输入要打印的行数:5

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

可以看到,打印出了5行杨辉三角。如果想探索更多数学问题,在C++这门编程语言的帮助下完全有可能把它们解决。

  
  

评论区

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