使用c语言打印杨辉三角。 输入需要打印的杨辉三角的行数 n(1≤n≤20)。 输出打印出类似等腰三角形的样式。每行各个数字之间用一个空格隔开(不考虑数字位数对齐),最后一个数后面输出换行符。
时间: 2024-10-28 15:15:23 浏览: 46
在 C 语言中,我们可以使用嵌套循环来打印杨辉三角。下面是一个简单的示例程序,它会接受用户输入的行数 `n`,然后生成并打印对应的杨辉三角。
```c
#include <stdio.h>
// 函数定义,用于计算杨辉三角的第i行第j个位置的值
int binomial_coefficient(int n, int k) {
if (k == 0 || k == n)
return 1;
else
return binomial_coefficient(n - 1, k - 1) + binomial_coefficient(n - 1, k);
}
// 打印杨辉三角
void print_pascal_triangle(int n) {
for (int i = 0; i <= n; ++i) { // 遍历每一行
// 输出前导空格,保证数字对齐
for (int j = 0; j < i; ++j) {
printf(" ");
}
// 计算并打印当前行的每个元素
for (int k = 0; k <= i; ++k) {
printf("%d ", binomial_coefficient(i, k));
}
// 结束当前行并换行
printf("\n");
}
}
int main() {
int n;
printf("请输入杨辉三角的行数(1 <= n <= 20): ");
scanf("%d", &n);
// 检查输入是否合法
if (n < 1 || n > 20) {
printf("无效输入,行数应介于1到20之间。\n");
return 1;
}
print_pascal_triangle(n);
return 0;
}
```
当你运行这个程序时,它会提示你输入想要打印的杨辉三角的行数,然后按照规则打印出来。例如,如果你输入5,它将打印出前五行的杨辉三角:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
```
阅读全文