打印杨辉三角c++用二维数组
时间: 2024-06-08 22:03:29 浏览: 20
打印杨辉三角可以使用二维数组来实现。先声明一个二维数组,然后通过循环来对其进行赋值,最后再输出即可。下面是一个示例代码:
```
#include <iostream>
using namespace std;
int main() {
int rows;
cout << "请输入行数:";
cin >> rows;
int arr[rows][rows]; // 声明二维数组
// 初始化数组
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
}
}
// 输出杨辉三角
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
相关问题
用二维数组打印杨辉三角c++
以下是用二维数组打印杨辉三角的C++代码:
```c++
#include <iostream>
using namespace std;
int main() {
int num[10][10] = {0};
int i = 0, j = 0;
for (i = 0; i < 10; i++) {
num[i][0] = 1; // 把每行的第1位值赋值为1;
num[i][i] = 1; // 把右边对角线的值全部赋值为1;
}
for (i = 2; i < 10; i++) { // 观察杨辉三角的图,可得出这么一个规律,除了第一行第一列的值之外,其他的值都是上一行的左右两个值之和;所以从第二行开始运算
for (j = 1; j < i; j++) {
num[i][j] = num[i - 1][j] + num[i - 1][j - 1];
}
}
for (i = 0; i < 10; i++) {
for (j = 0; j < 9 - i; j++) {
cout << " ";
}
for (j = 0; j <= i; j++) {
cout << num[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
用c++二维数组求杨辉三角
以下是使用C++二维数组求杨辉三角的代码:
```cpp
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "请输入杨辉三角的行数:";
cin >> n;
int a[n][n];
// 初始化第一行和对角线上的元素为1
for (int i = 0; i < n; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
// 计算其余元素
for (int i = 2; i < n; i++) {
for (int j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
// 输出杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
运行结果:
```
请输入杨辉三角的行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```