如何在C++中正确地定义一个二维数组来存储和输出九行的杨辉三角形?
时间: 2024-12-15 20:15:54 浏览: 10
在C++中,你可以通过动态内存分配来定义一个二维数组来存储杨辉三角。杨辉三角是一个数学术语,每一行都是前一行的数字之和,并且第一行和对角线上的数字都是1。以下是如何定义并输出九行杨辉三角的一个例子:
```cpp
#include <iostream>
using namespace std;
// 定义一个函数用于创建和初始化二维数组
void printPascalTriangle(int n) {
int** triangle = new int*[n];
for (int i = 0; i < n; ++i) {
triangle[i] = new int[i + 1]; // 每一行有i+1个元素
triangle[i][0] = triangle[i][i] = 1; // 对角线上元素初始化为1
}
// 输出三角形
for (int i = 0; i < n; ++i) {
for (int j = 0; j <= i; ++j) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
// 清理内存
for (int i = 0; i < n; ++i) {
delete[] triangle[i];
}
delete[] triangle;
}
int main() {
printPascalTriangle(9); // 打印九行杨辉三角
return 0;
}
```
在这个程序中,我们首先定义了一个`printPascalTriangle`函数,它接收一个整数参数n表示要打印的行数。然后我们在内部创建了对应的二维数组,并在每行的第一个和最后一个位置设置为1。接着遍历数组,逐行输出数字。最后,别忘了在程序结束时释放动态分配的内存。
阅读全文