C++打印出杨辉三角(要求打印出10行)用自定义函数输出三角形
时间: 2023-12-17 12:05:47 浏览: 84
打印杨辉三角形-C++程序设计(谭浩强完整版)
好的,以下是C++代码实现:
```cpp
#include <iostream>
#include <vector>
using namespace std;
vector<vector<int>> generateTriangle(int n) {
vector<vector<int>> triangle(n, vector<int>(n));
for (int i = 0; i < n; i++) {
triangle[i][0] = 1;
for (int j = 1; j <= i; j++) {
triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j];
}
}
return triangle;
}
void printTriangle(vector<vector<int>> triangle) {
for (auto row : triangle) {
for (auto num : row) {
if (num != 0) {
cout << num << " ";
}
}
cout << endl;
}
}
int main() {
vector<vector<int>> triangle = generateTriangle(10);
printTriangle(triangle);
return 0;
}
```
解释一下代码:
- `generateTriangle(n)` 函数用于生成杨辉三角,输入参数 `n` 表示要生成的行数,返回值为一个二维向量,其中每个元素也是一个向量,表示杨辉三角的一行。
- `printTriangle(triangle)` 函数用于输出杨辉三角,输入参数 `triangle` 是一个二维向量,表示要输出的杨辉三角。
- 在主函数中,先调用 `generateTriangle(10)` 生成一个包含 10 行的杨辉三角,然后调用 `printTriangle(triangle)` 输出这个三角形。
希望这个答案能够满足你的要求!
阅读全文