用C语言输出以下的杨辉三角形(要求输出10行) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 …………………………
时间: 2024-12-06 15:25:58 浏览: 67
在C语言中,你可以使用动态内存分配和两层嵌套循环来生成并输出杨辉三角。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
// 功能:计算给定位置的杨辉三角值
int get_pascal_triangle(int row, int col) {
if (col == 0 || col == row) {
return 1;
} else {
return get_pascal_triangle(row - 1, col - 1) + get_pascal_triangle(row - 1, col);
}
}
int main() {
int rows = 10; // 设置输出10行
int i, j;
// 动态创建二维数组
int** triangle = (int**)malloc(rows * sizeof(int*));
for (i = 0; i < rows; i++) {
triangle[i] = (int*)malloc((i + 1) * sizeof(int)); // 每行有i+1个元素
}
// 计算并输出每个位置的值
for (i = 0; i < rows; i++) {
for (j = 0; j <= i; j++) {
triangle[i][j] = get_pascal_triangle(i, j);
printf("%d ", triangle[i][j]);
}
printf("\n");
}
// 清理内存
for (i = 0; i < rows; i++) {
free(triangle[i]);
}
free(triangle);
return 0;
}
```
这个程序首先动态地为每一行创建一个数组,然后通过递归计算每个位置的杨辉三角数值,并将其打印出来。注意最后记得释放动态分配的内存。
阅读全文
相关推荐

















