21xrx.com
2024-09-20 05:41:33 Friday
登录
文章检索 我的文章 写文章
C++代码分享:输出杨辉三角前十行的二维数组
2023-07-08 13:48:25 深夜i     --     --
C++ 输出 杨辉三角 前十行 二维数组

如果你是一位C++开发者,你一定不会错过输出杨辉三角前十行的二维数组这个小挑战。这个问题可以用C++语言轻松地解决,本文就将为大家分享这个问题的解决方案。

首先,让我们了解一下什么是杨辉三角。它是一个如下图所示的图形,由数字构成,数字满足以下规律:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

...

每一行的两端都是1,其他数字都是上一行相邻两个数字之和。输出杨辉三角前十行的二维数组,就是要输出一个由10个子数组构成的二维数组,每个子数组代表杨辉三角的一行。

下面是解决这个问题的C++代码:


#include <iostream>

using namespace std;

int main(){

  const int N=10;

  int a[N][N]={0};

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

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

      if(m==0||n==m){

        a[n][m]=1;

      }else{

        a[n][m]=a[n-1][m-1]+a[n-1][m];

      }

      cout<<a[n][m]<<" ";

    }

    cout<<endl;

  }

  return 0;

}

代码分析:

1. 通过`const int N=10`定义了常量N,表示杨辉三角的行数。

2. 定义一个二维数组`int a[N][N]={0}`,并初始化值为0。

3. 循环输出杨辉三角的每一行,循环变量`n`表示行数,循环变量`m`表示列数。

4. 判断`m`是否等于0或者`n`是否等于`m`。如果是,则给数组元素赋值为1,否则将该元素的值赋为上一行相邻两个元素之和。

5. 输出数组元素,并在每行末尾加一个换行符。

6. 循环结束后,返回0。

以上就是输出杨辉三角前十行的二维数组的C++代码。通过这个例子,我们可以看到C++语言的强大之处,用它可以轻松地解决很多问题。对于初学者而言,多看一些别人的代码并理解其原理也是不错的学习方式。

  
  

评论区

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