杨辉三角代码实现思路
时间: 2023-12-09 14:36:47 浏览: 80
杨辉三角代码实现方法
杨辉三角是一个数学上的概念,它是一个三角形,其中的每个数字都是上面两个数字之和。杨辉三角的第一行只有一个数字1,接下来的每一行数字都是上一行相邻两个数字之和。杨辉三角可以使用一维数组或二维数组来实现。
一维数组实现杨辉三角的思路:
1. 定义一个一维数组arr,长度为当前行数i+1。
2. 从后向前遍历数组,如果当前位置j等于0或i,将arr[j]赋值为1。
3. 否则,将arr[j]赋值为arr[j]+arr[j-1]。
4. 输出arr[j],并在数字后面加上空格。
二维数组实现杨辉三角的思路:
1. 定义一个二维数组arr,大小为MAX*MAX。
2. 使用两个for循环遍历数组,i表示行数,j表示列数。
3. 如果j等于0或i等于j,将arr[i][j]赋值为1。
4. 否则,将arr[i][j]赋值为arr[i-1][j-1]+arr[i-1][j]。
5. 输出arr[i][j],并在数字后面加上空格。
6. 每输出完一行,换行输出下一行。
以下是一维数组和二维数组实现杨辉三角的完整代码:
一维数组实现杨辉三角的代码:
```c
#include <stdio.h>
#define MAX 10
int main() {
int arr[MAX];
for(int i=0; i<MAX; i++) {
for(int j=i; j>=0; j--) {
if(j==0 || j==i) {
arr[j] = 1;
} else {
arr[j] += arr[j-1];
}
printf("%-4d", arr[j]);
}
printf("\n");
}
return 0;
}
```
二维数组实现杨辉三角的代码:
```c
#include <stdio.h>
#define MAX 10
int main() {
int arr[MAX][MAX];
for(int i=0; i<MAX; i++) {
for(int j=0; j<=i; j++) {
if(j==0 || i==j) {
arr[i][j] = 1;
} else {
arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
}
printf("%-4d", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
阅读全文