数据结构打印杨辉三角C++
时间: 2024-06-11 16:03:25 浏览: 99
数据结构打印杨辉三角形C++
杨辉三角是一个经典的数学问题,它通常用在组合数学中,表示二项式系数,每个数字是它上面两个数字的和。在C++中,你可以使用动态数组或二维数组来实现一个递归或迭代的方式来打印杨辉三角。这里我将展示一个简单的迭代方法,利用嵌套循环来构建和打印杨辉三角。
```cpp
#include <iostream>
using namespace std;
void printPascalTriangle(int rows) {
int triangle[rows][rows];
// 初始化第一行和第一列
for (int i = 0; i <= rows; i++) {
triangle[i] = 1;
if (i > 0) triangle[i][i] = 1;
}
// 填充三角形
for (int i = 1; i < rows; i++) {
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
// 打印三角形
for (int i = 0; i <= rows; i++) {
for (int j = 0; j <= i; j++) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
}
int main() {
int rows;
cout << "Enter the number of rows for the Pascal's Triangle: ";
cin >> rows;
printPascalTriangle(rows);
return 0;
}
```
当你运行这个程序并输入想要的行数时,它会打印出对应大小的杨辉三角。相关问题:
1. 杨辉三角的应用有哪些?
2. 这段代码中的`triangle[i]`和`triangle[i][i]`分别代表什么?
3. 如何优化这段代码以减少内存使用?
阅读全文