杨辉三角c++
时间: 2023-07-01 08:29:36 浏览: 63
好的,以下是 C++ 实现杨辉三角的代码:
```c++
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "请输入杨辉三角的行数:";
cin >> n;
int a[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1;
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
cout << a[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
你可以尝试输入一个数生成杨辉三角,程序会自动输出结果。
相关问题
杨辉三角形c++ 代码
下面是一个输出杨辉三角形的C++代码示例:
```
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
int n, i = 0, j = 0;
cin >> n;
int a[n][n];
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++) {
if (j == 0 || j == i) a[i][j] = 1; else a[i][j] = a[i - 1][j - 1] + a[i - 1][j];
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < i + 1; j++) {
cout << setiosflags(ios::left) << setw(8) << a[i][j];
}
cout << endl;
}
cout << endl;
return 0;
}
```
这个代码使用了二维数组来存储杨辉三角形中的数字,然后使用两个嵌套的循环来计算和输出杨辉三角形。在循环中,如果当前数字是第一列或最后一列,那么它的值为1,否则它的值为上一行的左上角和右上角数字之和。最后,使用setw()函数来设置输出的宽度,使输出的数字对齐。
杨辉三角形c++队列
以下是使用C++队列实现杨辉三角形的代码:
```c++
#include <iostream>
#include <queue>
using namespace std;
void printPascal(int n) {
queue<int> q;
q.push(1); // 第一行只有一个1
for (int i = 1; i <= n; i++) {
int prev = 0; // 记录上一行的数字
for (int j = 0; j < i; j++) {
int curr = q.front();
q.pop();
cout << curr << " ";
int sum = prev + curr; // 计算当前数字
prev = curr;
q.push(sum); // 将当前数字加入队列
}
q.push(1); // 每行最后一个数字为1
cout << endl;
}
}
int main() {
int n = 5;
printPascal(n);
return 0;
}
```