🔥博客主页🔥:【 坊钰_CSDN博客 】
欢迎各位点赞👍评论✍收藏⭐
目录
题目:打印杨辉三角
1. 下三角型
1.1 图例:
1.2. 解析:
1.3. 代码:
1.4. 运行:
2. 金字塔型
2.1 图例
2.2. 解析
2.2.1. 打印金字塔图形
2.3. 代码
2.4. 运行:
3. 小结
题目:打印杨辉三角
1. 下三角型
1.1 图例:
1.2. 解析:
- 该图形为下三角
- 如用二维数组来创建,则当( i==j || j==0 )时,arr [ i ][ j ] == 1,这样就处理了对角线和第一列的打印
- 剩余部分我们可发现规律-> arr [ i ][ j ] =arr [ i-1 ][ j ] + arr [ i-1 ][ j-1 ]
- 图解:
1.3. 代码:
#include <stdio.h>
int main()
{int n = 0;scanf_s("%d", &n);int arr[100][100] = { 0 };//初始化数组for (int i = 0; i < n; i++)//次数{for (int j = 0; j <= i; j++)//下三角{if (i == j || j == 0)//判断条件{arr[i][j] = 1;}else{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1]; //找规律}printf("%d ", arr[i][j]);}printf("\n");}return 0;
}
1.4. 运行:
2. 金字塔型
2.1 图例
2.2. 解析
- 要想打印上图,我们先打印出金字塔形状
- 金字塔前方空格是重点,不能忘掉
- 打印金字塔模型后,在把杨辉三角数依次往里代
2.2.1. 打印金字塔图形
金字塔包含前面空格,和组成塔的数字(注意:每一个数字后都有空格)
代码:
#include <stdio.h>int main() {int n;scanf("%d", &n);for (int i = 0; i < n; i++){for (int j = 0; j < n - i-1; j++){printf(" "); //前方空格}for (int k = 0; k <= i; k++){printf("* "); //数据}printf("\n");}return 0;
}
运行:
2.3. 代码
#include <stdio.h>
int main()
{int n = 0;scanf_s("%d", &n);int arr[100][100] = { 0 };//初始化数组int str[10000] = { 0 };int k = 0;int v = 0;for (int i = 0; i < n; i++)//次数{for (int j = 0; j <= i; j++)//下三角{if (i == j || j == 0)//判断条件{arr[i][j] = 1;}else{arr[i][j] = arr[i - 1][j] + arr[i - 1][j - 1];}str[k++] = arr[i][j]; //把杨辉三角数存入数组str[]中}for (int m = 0; m < n - i - 1; m++){printf(" ");//打印金字塔前方空格}for (int p = 0; p <= i; p++){printf("%5d ", str[v++]);//依次打印杨辉三角数}printf("\n\n");}return 0;
}
2.4. 运行:
3. 小结
以上就是关于杨辉三角的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!