用c语言实现:5. 编程打印如下形式的杨辉三角形。 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 . . . . . .带解析
时间: 2024-01-09 12:05:37 浏览: 76
杨辉三角形又称帕斯卡三角形,其规律为每个数等于它上方两数之和。
我们可以用二维数组来存储杨辉三角形,具体实现如下:
```c
#include <stdio.h>
int main() {
int n, i, j;
int a[20][20] = {0}; // 定义一个二维数组并初始化为0
printf("请输入杨辉三角形的行数:");
scanf("%d", &n);
// 计算杨辉三角形
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
if (j == 1 || j == i) {
a[i][j] = 1; // 第一列和对角线上的数都为1
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j]; // 其它数为上方两数之和
}
}
}
// 打印杨辉三角形
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
运行结果:
```
请输入杨辉三角形的行数:6
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
```
代码解析:
1. 定义一个二维数组 `a` 来存储杨辉三角形,数组大小为 20x20,即最多支持 19 行的杨辉三角形;
2. 让用户输入杨辉三角形的行数 `n`;
3. 使用两层循环遍历数组,计算杨辉三角形中每个数的值;
4. 打印杨辉三角形。
阅读全文