打印前八行杨辉三角C语言
时间: 2025-05-21 16:41:12 浏览: 17
以下是使用C语言实现打印前八行杨辉三角的代码:
```c
#include <stdio.h>
void printYangHuiTriangle(int rows) {
int triangle[8][8]; // 定义一个二维数组来存储杨辉三角的值
for (int i = 0; i < rows; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) { // 每一行的第一个和最后一个元素为1
triangle[i][j] = 1;
} else {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 其他位置的值是上一行相邻两个数之和
}
printf("%d ", triangle[i][j]); // 打印当前值
}
printf("\n"); // 换行
}
}
int main() {
int rows = 8; // 前8行
printYangHuiTriangle(rows);
return 0;
}
```
### 上述代码解释:
1. **定义二维数组**:`triangle[8][8]` 用于存储杨辉三角的值,这里我们直接定义了8行8列,因为题目要求只打印前8行。
2. **循环逻辑**:
- 外层循环 `for (int i = 0; i < rows; i++)` 控制行数。
- 内层循环 `for (int j = 0; j <= i; j++)` 控制每一行的列数。
3. **边界条件**:
- 如果是每行的第一个或最后一个元素(即 `j == 0` 或 `j == i`),则该值为1。
- 其他位置的值通过公式 `triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]` 计算得出。
4. **打印结果**:在每次内层循环结束后换行。
运行以上代码后,输出将是杨辉三角的前8行。
### 输出示例:
```
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
1 7 21 35 35 21 7 1
```
阅读全文
相关推荐


















