数据结构杨辉三角形c
时间: 2024-11-01 07:07:46 浏览: 31
数据结构中的杨辉三角,也称为帕斯卡三角或杨表,是一个二项式系数的几何图形,每个数字表示从n个元素中选择k个元素的组合数,通常用C(n, k)表示。这个三角形以递归的方式生成,每一行的第i个数字等于上一行的(i-1)个数字之和。
在C语言中,可以使用动态数组或者二维数组来构建和存储杨辉三角。下面是一个简单的C程序示例,展示了如何用循环来构造杨辉三角:
```c
#include <stdio.h>
// 动态内存分配大小
#define ROWS 10
void printPascalTriangle(int arr[ROWS][ROWS], int n) {
for (int i = 0; i <= n; ++i) {
// 输出当前行的前导空格
for (int j = 0; j < n - i; ++j)
printf(" ");
// 输出当前行的数字
for (int j = 0; j <= i; ++j)
printf("%d ", arr[i][j]);
printf("\n");
}
}
int main() {
int triangle[ROWS][ROWS];
// 初始化第一行
for (int i = 0; i <= ROWS - 1; i++) {
triangle[i][0] = triangle[0][i] = 1;
}
// 构建剩余部分
for (int i = 1; i < ROWS; i++) {
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j];
}
}
printPascalTriangle(triangle, ROWS);
return 0;
}
```
运行此程序,它会打印出指定大小的杨辉三角。
阅读全文