3.编写一个程序,打印7行如下形式的杨辉三角形: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
时间: 2025-06-24 20:40:08 浏览: 9
### 使用编程语言生成杨辉三角形
以下是使用 C、C++ 和 Python 编程语言分别生成并打印 7 行杨辉三角形的代码示例。
---
#### **C语言**
通过二维数组存储杨辉三角的数据,并按照行列关系输出:
```c
#include <stdio.h>
int main() {
int n = 7; // 打印7行
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];
}
}
}
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
此代码利用了杨辉三角的特点:每一项等于其上方两项之和[^1]。
---
#### **C++语言**
同样采用二维数组的方式,但可以借助 `setw` 函数调整输出格式使其更美观:
```cpp
#include <iostream>
#include <iomanip> // 用于设置宽度
using namespace std;
int main() {
const int n = 7; // 打印7行
int a[n][n];
for (int i = 0; i < n; ++i) {
a[i][0] = a[i][i] = 1; // 边界条件
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 << setw(4) << a[i][j]; // 设置固定宽度以便对齐
}
cout << endl;
}
return 0;
}
```
该程序优化了输出方式,使得结果更加整齐[^2]。
---
#### **Python语言**
Python 的实现更为简洁直观,可以通过列表推导式快速构建杨辉三角:
```python
def generate_yanghui_triangle(n):
triangle = []
for i in range(n):
row = [1] * (i + 1)
for j in range(1, i):
row[j] = triangle[i - 1][j - 1] + triangle[i - 1][j]
triangle.append(row)
return triangle
def print_triangle(triangle):
max_width = len(' '.join(map(str, triangle[-1]))) # 计算最后一行长度作为最大宽度
for row in triangle:
output = ' '.join(map(str, row))
print(output.center(max_width))
yanghui_triangle = generate_yanghui_triangle(7)
print_triangle(yanghui_triangle)
```
这段代码定义了一个函数来生成指定行数的杨辉三角,并通过字符串方法使输出居中显示[^3]。
---
### 输出效果对比
三种语言均实现了相同的功能——打印 7 行杨辉三角形。其中:
- C/C++ 更适合底层开发场景;
- Python 则因其语法简单易读,在数据处理领域更具优势。
---
阅读全文
相关推荐

















