以下是杨辉三角的 C 语言程序实现:
```c
#include
int main() {
int rows, i, j, num = 1;
printf("请输入杨辉三角的行数:");
scanf("%d", &rows); // 获取行数输入
int arr[rows][rows]; // 定义二维数组,存储杨辉三角的每个数
for (i = 0; i < rows; i++) { // 外层循环控制行数
for (j = 0; j <= i; j++) { // 内层循环控制每行的元素个数
if (j == 0 || i == 0) { // 如果是第一列或第一行,值为 1
arr[i][j] = 1;
} else { // 其他位置的数等于上一行相邻两数之和
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
printf("%d ", arr[i][j]); // 输出当前元素值
}
printf("\n"); // 换行输出下一行元素值之前换行输出当前行元素值
}
return 0;
}
```
该程序首先获取用户输入的杨辉三角的行数,然后定义一个二维数组来存储杨辉三角的每个数。外层循环控制行数,内层循环控制每行的元素个数。对于每个位置上的数,如果是第一列或第一行,值为 1;否则等于上一行相邻两数之和。最后输出杨辉三角的每个数。