当前位置:首页 C++ > 正文

C++杨辉三角完美打印输出

作者:野牛程序员:2024-06-09 12:08:47 C++阅读 2329
C++杨辉三角完美打印输出

杨辉三角,又称帕斯卡三角形,是一个以正整数排列成三角形的数表。该数表具有丰富的数学性质和应用。以下是一个C++程序,用于完美打印杨辉三角。

#include <iostream>
#include <iomanip>

// 函数:生成杨辉三角
void generatePascalsTriangle(int numRows) {
    int triangle[numRows][numRows];

    for (int i = 0; i < numRows; i++) {
        for (int j = 0; j <= i; j++) {
            if (j == 0 || j == i) {
                triangle[i][j] = 1;  // 边界值为1
            } else {
                triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];  // 中间值为上两个值之和
            }
        }
    }

    // 打印杨辉三角
    for (int i = 0; i < numRows; i++) {
        std::cout << std::setw(2 * (numRows - i));  // 控制输出格式,使其呈三角形
        for (int j = 0; j <= i; j++) {
            std::cout << std::setw(4) << triangle[i][j];
        }
        std::cout << std::endl;
    }
}

int main() {
    int numRows;
    std::cout << "请输入杨辉三角的行数: ";
    std::cin >> numRows;

    generatePascalsTriangle(numRows);

    return 0;
}

代码解析

  1. 生成杨辉三角的二维数组triangle数组用于存储生成的杨辉三角,其中triangle[i][j]表示第i行第j列的值。

  2. 初始化边界值:在每一行的开头和结尾,赋值为1。

  3. 计算中间值:根据杨辉三角的性质,每个位置的值等于它上一行的左上方和正上方两个位置的值之和。

  4. 打印杨辉三角:利用setw函数来格式化输出,使得输出的结果呈现为标准的三角形。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • 杨辉三角
  • 相关推荐

    最新推荐

    热门点击