C语言编写杨辉三角形
时间: 2024-10-11 11:01:44 浏览: 31
杨辉三角是一个经典的数学问题,它是一个数学术语,通常用于展示二项式系数的几何排列。在C语言中,我们可以使用动态数组来构建这个三角形,因为它的形状需要存储前一行的所有元素才能计算下一行。
下面是一个简单的C程序,用于打印杨辉三角的前几行:
```c
#include <stdio.h>
void print_pascal_triangle(int rows) {
int** triangle = malloc(rows * sizeof(int*));
for (int i = 0; i < rows; i++) {
triangle[i] = malloc((i + 1) * sizeof(int)); // 每行有i+1个元素
triangle[i][0] = triangle[i][i] = 1; // 第一行和最后一行全为1
printf("%d ", triangle[i][0]); // 打印当前行的第一个元素
for (int j = 1; j < i; j++) {
triangle[i][j] = triangle[i - 1][j - 1] + triangle[i - 1][j]; // 计算其他元素
printf("%d ", triangle[i][j]);
}
printf("\n"); // 换行
}
for (int i = 0; i < rows; i++) {
free(triangle[i]);
}
free(triangle);
}
int main() {
int rows;
printf("Enter the number of rows for Pascal's Triangle: ");
scanf("%d", &rows);
print_pascal_triangle(rows);
return 0;
}
```
当你运行这个程序并输入行数时,它会按照规则生成对应的杨辉三角形。例如,输入5,输出将是:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
阅读全文