用C语言编程解决上面的问题
时间: 2024-12-25 12:24:20 浏览: 15
在C语言中,可以使用二维数组来表示杨辉三角,并通过嵌套循环的方式来填充这个数组。下面是一个简单的例子,展示如何生成指定行数的杨辉三角:
```c
#include <stdio.h>
// 定义用于存储杨辉三角的数组
int pascal_triangle[21][21];
// 生成杨辉三角的函数
void print_pascal_triangle(int n) {
for (int i = 0; i <= n; ++i) {
// 打印当前行的前导空格
for (int j = n - i; j > 0; --j)
printf(" ");
// 计算并打印当前行的数字
for (int k = 0; k <= i; ++k) {
pascal_triangle[i][k] = comb(i, k); // 假设comb是一个计算组合数的函数
printf("%d", pascal_triangle[i][k]);
}
// 每行结束打印换行符
printf("\n");
}
}
// 计算组合数的辅助函数
int comb(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return comb(n - 1, k - 1) + comb(n - 1, k);
}
int main() {
int n;
printf("Enter the number of rows for Pascal's Triangle: ");
scanf("%d", &n);
print_pascal_triangle(n);
return 0;
}
```
在这个程序中,`print_pascal_triangle`函数会打印出指定行数的杨辉三角。注意,这里假设了一个`comb`函数用于计算组合数,实际上你可以根据需求选择合适的算法实现。
阅读全文