数据结构c语言实现杨辉三角
时间: 2024-11-22 12:10:22 浏览: 19
杨辉三角,也称为帕斯卡三角,是一个非常著名的数列图形,其中每个数字都是它上方两个数字之和。在C语言中,我们可以使用二维数组来存储并打印这个三角形。以下是一个简单的C语言程序,用于创建和显示杨辉三角:
```c
#include <stdio.h>
#define ROWS 10 // 可视化三角形的最大行数
// 创建二维数组存储杨辉三角的值
int pascal_triangle[ROWS][ROWS];
void print_pascal_triangle() {
for (int i = 0; i <= ROWS - 1; ++i) { // 遍历每一行
for (int j = 0; j <= i; ++j) { // 输出当前行的元素
printf("%d ", pascal_triangle[i][j]); // 显示数值
}
printf("\n"); // 换行
}
}
int binomial_coefficient(int n, int k) {
if (k > n || k < 0) return 0;
int result = 1;
if (k == 0 || k == n) result = 1;
else {
for (int i = 1; i <= k; ++i) {
result *= (n - i + 1);
result /= i;
}
}
return result;
}
int main() {
// 初始化杨辉三角
for (int i = 0; i <= ROWS - 1; ++i) {
for (int j = 0; j <= i; ++j) {
pascal_triangle[i][j] = binomial_coefficient(i, j);
}
}
print_pascal_triangle();
return 0;
}
```
在这个程序中,我们首先定义了一个二维数组`pascal_triangle`,然后在`binomial_coefficient`函数中计算每个位置的组合值,最后使用嵌套循环填充三角形,并在`print_pascal_triangle`中打印出来。
阅读全文