用数组写杨辉三角c语言程序
时间: 2023-11-27 21:47:31 浏览: 81
以下是使用一维数组实现杨辉三角的C语言程序:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int arr[n];
for (int i = 0; i < n; i++) {
arr[i] = 1;
for (int j = i - 1; j > 0; j--) {
arr[j] += arr[j - 1];
}
for (int j = 0; j <= i; j++) {
printf("%d ", arr[j]);
}
printf("\n");
}
}
int main() {
int n;
printf("请输入要生成的杨辉三角的行数:");
scanf("%d", &n);
printPascalTriangle(n);
return 0;
}
```
在上述程序中,我们定义了一个名为`printPascalTriangle`的函数,用于生成并打印杨辉三角。该函数接受一个整数`n`作为参数,表示要生成的杨辉三角的行数。在函数中,我们定义了一个一维数组`arr`,用于存储当前行的数值。在每一行的计算中,我们先将数组的第一个元素赋值为1,然后从第二个元素开始,通过上一行的数值计算当前行的数值。最后,我们遍历数组并打印每个元素的值,即可输出当前行的杨辉三角。
相关问题
杨辉三角c语言程序数组
以下是一个用C语言实现的生成杨辉三角的程序,其中使用了二维数组来存储杨辉三角的元素:
```c
#include <stdio.h>
void printPascalTriangle(int n) {
int arr[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
printf("%d ", arr[i][j]);
}
printf("\n");
}
}
int main() {
int n = 5;
printPascalTriangle(n);
return 0;
}
```
在上述程序中,我们定义了一个名为`printPascalTriangle`的函数,用于生成并打印杨辉三角。该函数接受一个整数`n`作为参数,表示要生成的杨辉三角的行数。在函数中,我们定义了一个二维数组`arr`,用于存储杨辉三角的元素。在每一行的循环中,我们首先判断当前元素是否在杨辉三角的边界上,如果是,则将其赋值为1;否则,根据杨辉三角的递推公式,计算当前元素的值,并将其赋值给`arr[i][j]`。最后,我们打印出当前元素的值,并在每一行结束后换行。
杨辉三角c语言程序不用数组
以下是一种不用数组的C语言实现杨辉三角的方法:
```c
#include <stdio.h>
int main()
{
int i, j, k, n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
for (i = 0; i < n; i++) {
k = 1;
for (j = 0; j <= i; j++) {
printf("%d ", k);
k = k * (i - j) / (j + 1);
}
printf("\n");
}
return 0;
}
```
阅读全文