21xrx.com
2025-03-22 08:46:42 Saturday
文章检索 我的文章 写文章
C++代码:输出前10行杨辉三角形
2023-06-23 07:23:39 深夜i     20     0
C++ 杨辉三角形 输出 代码 前10行

杨辉三角形是一种迷人的数字图案。在杨辉三角形中,第n行有n个数字,其中第k个数字等于第n-1行中第k-1个数字和第k个数字之和。现在,我们来学习如何用C++语言编写一个程序,输出前10行杨辉三角形。

首先,我们需要定义一个二维数组来存储杨辉三角形的各行数字。因为杨辉三角形的每一行数字个数都不同,我们选择将数组的第二维大小定义为10,这样最多可以存储10个数字,不浪费内存空间。

接着,我们从第一行开始,逐行计算杨辉三角形的各个数字,并存储到数组中。具体的计算方法是,根据杨辉三角形的规律,每个数字等于它上方两个数字之和,例如第三行的第二个数字等于第二行的第一个数字和第二行的第二个数字之和。

最后,我们将数组中的数字打印出来。由于每行数字个数不同,我们需要在输出每行数字之前,循环输出一定数量的空格,使得输出整齐、对齐。

下面是用C++代码实现输出前10行杨辉三角形的程序。你可以复制粘贴到你的C++编辑器,编译并运行它。

#include <iostream>
using namespace std;
int main()
{
  int pascal[10][10] = {0}; // 定义数组并初始化
  // 计算杨辉三角形并存储到数组中
  for (int i = 0; i < 10; ++i)
  {
    for (int j = 0; j <= i; ++j)
    {
      if (j == 0 || j == i)
      {
        pascal[i][j] = 1;
      }
      else
      {
        pascal[i][j] = pascal[i-1][j-1] + pascal[i-1][j];
      }
    }
  }
  // 输出杨辉三角形
  for (int i = 0; i < 10; ++i)
  {
    for (int k = 0; k < 10-i-1; ++k)
    {
      cout << " ";
    }
    for (int j = 0; j <= i; ++j)
    {
      cout << pascal[i][j] << " ";
    }
    cout << endl;
  }
  return 0;
}

运行该程序,就可以得到输出前10行杨辉三角形的结果了:

1
    1 1
    1 2 1
   1 3 3 1
   1 4 6 4 1
  1 5 10 10 5 1
  1 6 15 20 15 6 1
 1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

以上就是输出前10行杨辉三角形的C++程序实现方法。希望本篇文章能帮助你更好地理解杨辉三角形的计算方法,也能够提高你的编程技能。

  
  

评论区