用数组形式输出标准杨辉三角
时间: 2024-12-23 18:27:43 浏览: 1
java使用for循环输出杨辉三角
杨辉三角(Pascal's triangle)是一个非常经典的数学图形,它的每一行都是从上一行计算得出的,每个数字是其上方两个数字之和。在C++中,我们可以使用二维数组来存储并打印杨辉三角。这里有一个简单的示例,我们将使用嵌套循环来生成和打印数组:
```cpp
#include <iostream>
// 初始化一个大小为n+1的二维数组来存储杨辉三角
int** generate_pascals_triangle(int n) {
int** triangle = new int*[n + 1];
for (int i = 0; i <= n; ++i) {
triangle[i] = new int[i + 1];
triangle[i][0] = triangle[i][i] = 1;
if (i > 1) {
for (int j = 1; j < i; ++j) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
}
return triangle;
}
// 打印杨辉三角
void print_triangle(int** triangle, int size) {
for (int i = 0; i < size; ++i) {
for (int j = 0; j <= i; ++j) {
std::cout << triangle[i][j] << " ";
}
std::cout << "\n";
}
// 清理内存
for (int i = 0; i <= size; ++i) {
delete[] triangle[i];
}
delete[] triangle;
}
int main() {
int n = 5; // 想要显示的三角形的层数
int** triangle = generate_pascals_triangle(n);
print_triangle(triangle, n);
return 0;
}
```
运行这个程序后,它会输出一个五层的杨辉三角。
阅读全文