21xrx.com
2025-03-27 07:00:06 Thursday
文章检索 我的文章 写文章
《C++打印杨辉三角前n行算法实验报告》
2023-07-04 23:37:18 深夜i     27     0
C++ 杨辉三角 前n行 算法 实验报告

在本次算法实验中,我们使用了C++语言实现了杨辉三角前n行的打印算法。杨辉三角是一种有趣的数学图形,它的每一行都是由组合数构成的,具有很多有趣的性质和应用。

我们首先定义一个函数,实现杨辉三角前n行的生成。在该函数中,我们使用了二维数组来存储每一行的元素,然后依次计算出每一行的数值,并存储到对应的数组中。具体实现过程如下:

void PrintYanghuiTriangle(int n)
{
  int a[100][100];
  for (int i = 0; i < n; i++)
    for (int j = 0; j <= i; j++)
      if (j == 0 || j == i)
        a[i][j] = 1;
      else
        a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
  for (int i = 0; i < n; i++)
  {
    for (int j = 0; j <= i; j++)
      cout << setw(4) << a[i][j];
    cout << endl;
  }
}

在以上函数中,我们首先定义了一个二维数组a,并在循环中依次计算出每一行的数值。它的计算方法很简单,就是根据杨辉三角的性质,将每一行的元素都计算出来。

接下来,我们使用了两个for循环,将计算出的每一行数值打印出来。因为每一行的长度都不相同,所以我们需要使用setw函数来控制输出的宽度,使每一个数字都能对齐。

最后,在主函数中,我们调用该函数,生成前n行的杨辉三角。例如,我们可以输入n=5,得到如下的输出结果:

1
  1  1
  1  2  1
  1  3  3  1
  1  4  6  4  1

通过以上实验,我们不仅了解了杨辉三角的性质和生成方法,还掌握了使用C++语言实现计算杨辉三角的算法。这对于我们进一步学习数学和编程都具有很大的意义。

  
  

评论区