C++实现-用二维数组输出杨辉三角
时间: 2024-09-28 22:09:56 浏览: 46
在C++中,我们可以使用嵌套循环和动态内存分配来打印杨辉三角。杨辉三角是一个数学术语,每一行都是一个等差数列,每个数字等于它上方两个数字之和。下面是简单的代码示例:
```cpp
#include <iostream>
using namespace std;
// 动态创建二维数组
int** createTriangle(int size) {
int** triangle = new int*[size];
for (int i = 0; i < size; ++i) {
triangle[i] = new int[i + 1]; // 每一行元素个数比上一行多1
triangle[i][0] = triangle[i][i] = 1; // 边界条件,第一行和对角线全为1
}
return triangle;
}
// 打印杨辉三角
void printTriangle(int** triangle, int size) {
for (int i = 0; i < size; ++i) {
for (int j = 0; j <= i; ++j) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
delete[] triangle[0]; // 删除每行最后一个元素所指向的空间
for (int i = 1; i < size; ++i) {
delete[] triangle[i]; // 删除所有行的元素空间
}
delete[] triangle; // 删除二维数组本身
}
int main() {
int size = 5; // 设置三角形大小
int** triangle = createTriangle(size);
printTriangle(triangle, size);
return 0;
}
```
阅读全文