用c语言打印杨辉三角10行
时间: 2024-03-14 21:48:09 浏览: 101
好的,这里是一个简单的 C 语言程序,可以打印出杨辉三角的前 10 行:
```c
#include <stdio.h>
int main() {
int n = 10;
int a[11][11]; // 定义二维数组存储杨辉三角
// 初始化第一列和对角线为1
for (int i = 0; i < n; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
// 递推计算杨辉三角
for (int i = 2; i < n; i++) {
for (int j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
}
// 输出杨辉三角
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
程序的执行流程如下:
首先,我们定义了变量 `n` 表示要打印的行数,以及二维数组 `a` 存储杨辉三角。
然后,我们使用两个循环对杨辉三角进行初始化。对于第一列和对角线上的元素,我们将它们都赋值为 1。
接着,我们使用双重循环递推计算杨辉三角。对于每一行的第 $i$ 个元素,它的值等于上一行的第 $i-1$ 个元素和第 $i$ 个元素的和。
最后,我们使用两个循环输出杨辉三角。外层循环控制行数,内层循环控制每行的元素个数。每行的元素用空格隔开,并在行末换行。
运行程序,输出结果为:
```
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
```
可以看到,程序成功打印出了杨辉三角的前 10 行。
阅读全文