能否提供一个用C++实现的正确且符合规则的等腰三角形形状的杨辉三角形(Pascal's Triangle)生成代码示例?
时间: 2024-10-21 14:15:12 浏览: 32
当然可以。在C++中,我们可以使用二维数组来生成杨辉三角形(Pascal's Triangle),下面是一个简单的示例,它会打印出指定层数的等腰三角形:
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int n) {
// 创建一个二维数组存储每个位置的值
int triangle[n][n];
// 初始化第一行和第一列
for (int i = 0; i < n; ++i) {
triangle[0][i] = 1;
if (i > 0) {
triangle[i][0] = 1;
}
}
// 从第二行开始填充三角形
for (int row = 1; row < n; ++row) {
for (int col = 1; col <= row; ++col) {
triangle[row][col] = triangle[row - 1][col - 1] + triangle[row - 1][col];
}
}
// 打印三角形
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= i; ++j) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
}
int main() {
int height = 5; // 指定三角形的高度
printPascalTriangle(height);
return 0;
}
```
这个程序首先初始化前两行,然后通过两个嵌套循环计算并存储每一层的数值,最后按照顺序输出整个三角形。你可以根据需要更改`height`变量来生成不同大小的杨辉三角形。
阅读全文