杨辉三角c语言程序不用数组
时间: 2023-11-22 20:48:26 浏览: 78
以下是一种不用数组的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;
}
```
相关问题
杨辉三角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>
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 - ];
}
for (int j 0; j <= - i; j++) printf(" ");
}
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。然后,我们从第二个元素开始,依次计算当前元素的值,直到最后一个元素。具体地,当前元素的值等于上一行对应位置的元素值加上上一行前一个位置的元素值。计算完当前行的所有元素后,我们按照格式打印出当前行的所有元素。
最后,在`main`函数中,我们从用户输入中获取要生成的杨辉三角的行数,并调用`printPascalTriangle`函数生成并打印杨辉三角。
阅读全文