c语言 使用二维数组保存杨辉三角
时间: 2023-11-06 17:15:39 浏览: 126
可以使用二维数组来保存杨辉三角,具体实现如下:
```c
#include <stdio.h>
int main() {
int n;
printf("请输入杨辉三角的行数:");
scanf("%d", &n);
int a[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j <= i; j++) {
if (j == 0 || j == i) {
a[i][j] = 1;
} else {
a[i][j] = a[i-1][j-1] + a[i-1][j];
}
printf("%d ", a[i][j]);
}
printf("\n");
}
return 0;
}
```
在这个程序中,我们定义了一个 `n*n` 的二维数组 `a` 来保存杨辉三角。我们使用双重循环来遍历数组,并且根据杨辉三角的规律来逐个计算每个数组元素的值。如果一个元素位于第一列或者最后一列,则它的值为1;否则它的值为上一行同一列和上一行前一列元素之和。最后,我们输出每个元素的值,并且在每行末尾换行,以形成杨辉三角的形状。
相关问题
c语言利用二维数组打印杨辉三角
以下是C语言利用二维数组打印杨辉三角的代码实现:
```c
#include <stdio.h>
#define N 10
int main() {
int a[N][N];
int i, j;
// 将最外端元素置为1
for (i = 0; i < N; i++) {
a[i][0] = 1;
a[i][i] = 1;
}
// 计算其他位置上的元素
for (i = 2; i < N; i++) {
for (j = 1; j < i; j++) {
a[i][j] = a[i-1][j-1] + a[i-1][j]; //计算
}
}
// 输出杨辉三角
for (i = 0; i < N; i++) {
for (j = 0; j <= i; j++) {
printf("%5d", a[i][j]); //输出
}
printf("\n"); //换行
}
return 0;
}
```
C语言利用二维数组打印杨辉三角
下是C语言利用二维数组打印杨辉三角的代码:
```c
#include <stdio.h>
int main()
{
int n, i, j;
printf("Enter the number of rows: ");
scanf("%d", &n);
int arr[n][n];
for(i = 0; i < n; i++)
{
for(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("The Pascal's Triangle:\n");
for(i = 0; i < n; i++)
{
for(j = 0; j <= i; j++)
{
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
这个程序首先从用户那里读取一个整数n,表示要打印杨辉三角的行数。然后,它创建了一个n x n的二维数组,用于存储杨辉三角的所有元素。接下来,程序使用两个嵌套的循环来计算和存储杨辉三角的元素。最后,程序使用另外两个嵌套的循环来打印杨辉三角的所有元素。
阅读全文