21xrx.com
2024-11-05 16:25:20 Tuesday
登录
文章检索 我的文章 写文章
如何用C++打印杨辉三角
2023-07-12 16:58:04 深夜i     --     --
C++ 打印 杨辉三角

杨辉三角,又称作帕斯卡三角,是一个经典的数学问题,是由法国数学家布拉斯·帕斯卡在17世纪发现的。它是一个由数字组成的三角形,在三角形的两侧以及顶部都是1,其它位置的数字是它上面两个数字之和。在这里,我们将介绍如何用C++打印杨辉三角。

- 第一步:确定输出的行数n。用户可以通过键盘输入n,用来控制输出的行数。

- 第二步:定义一个二维数组arr,用来存储每个数字。

- 第三步:初始化数组arr,将每个位置的值都赋为0。

- 第四步:通过循环嵌套,计算每个位置的值。从arr[0][0]开始,每个位置的值等于它左上角和右上角的值之和。在计算每个数字的值时,应该先判断它左上角和右上角的数字是否存在,如果不存在,就将它们的值赋为0。

- 第五步:打印每个数字。在计算完每个数字的值之后,就可以打印它了。可以通过循环嵌套,遍历二维数组,在每个位置上输出它的值。

- 第六步:格式化输出。为了使杨辉三角更易于阅读,可以在输出每个数字时,先输出一个空格或者一个制表符。还可以控制每行数字的数量,通过控制每行的空格数量来实现。

下面是C++代码示例:


#include <iostream>

using namespace std;

int main()

{

int n;

cout << "请输入输出行数:";

cin >> n;

int arr[n][n];

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

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

arr[i][j] = 0;

}

}

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

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

if(j == 0 || j == i) {

arr[i][j] = 1;

}

else {

arr[i][j] = arr[i-1][j-1] + arr[i-1][j];

}

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

}

cout << endl;

}

return 0;

}

在这段代码中,我们首先通过cin语句从键盘输入n,用来控制输出的行数。然后,我们定义了一个n×n的数组arr。通过两个for循环,我们先把数组中每个位置的值都赋为0。接着,我们通过两个嵌套for循环,计算每个位置的值,并打印它。在每个数字前面,我们加了一个空格,使得整个输出更加美观。最后,我们通过cout语句输出一个换行符,使得每行数字都可以按行显示。

总之,通过以上步骤,我们可以用C++来打印出任意行数的杨辉三角,让我们更好地理解这个经典的数学问题。

  
  

评论区

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