cpp 给出 n(n≤20),输出杨辉三角的前 n 行。
时间: 2023-09-09 16:04:32 浏览: 108
杨辉三角杨辉三角中从第0行0个开始,第n行第m个为n!/(m!*(n-m)!)
### 回答1:
好的,以下是 cpp 的代码实现:
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int arr[n][n];
for(int i = 0; i < n; 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];
}
cout << arr[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
希望对您有所帮助!
### 回答2:
杨辉三角是一个数学图形,由数字组成,每个数字是它上方两个数字的和。它的形状像一个等腰三角形,从顶端开始逐层向下生成。
下面是用C++语言实现输出杨辉三角前n行的代码:
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入要输出的行数n:";
cin >> n;
int triangle[20][20]; // 定义一个二维数组来存储杨辉三角的数字
// 初始化杨辉三角数组的第一行和对角线的值为1
for (int i = 0; i < n; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
}
// 根据杨辉三角的性质,计算除了第一行和对角线的其他数字
for (int i = 2; i < n; 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 < n; i++) {
// 打印每行数字前面的空格
for (int j = 0; j < n - i - 1; j++) {
cout << " ";
}
// 打印该行的数字
for (int j = 0; j <= i; j++) {
cout << triangle[i][j] << " ";
}
cout << endl; // 换行输出下一行
}
return 0;
}
使用以上代码,用户需要输入一个正整数n,程序会根据用户输入的n值输出杨辉三角的前n行。每行的数字之间用空格隔开,并且每一行数字前面会有一定数量的空格用来对齐整个杨辉三角的形状。
### 回答3:
杨辉三角是一个数学上的经典图形,它的特点是每个数字都是它上方两个数字之和。下面是使用C++编写的程序,可以根据输入的n值输出杨辉三角的前n行。
```cpp
#include <iostream>
using namespace std;
int main() {
int n;
cout << "请输入要输出的杨辉三角的行数n:";
cin >> n;
int triangle[n][n];
// 初始化杨辉三角的首尾两个元素为1
for (int i = 0; i < n; i++) {
triangle[i][0] = 1;
triangle[i][i] = 1;
}
// 计算杨辉三角中间的元素
for (int i = 2; i < n; 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 < n; i++) {
for (int j = 0; j <= i; j++) {
cout << triangle[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
编译运行该程序,输入一个不大于20的整数n,即可输出杨辉三角的前n行。例如,输入n为5,则输出如下杨辉三角:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
希望这个程序能帮助到你。
阅读全文