🔥博客主页🔥:【 坊钰_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. 小结
以上就是关于杨辉三角的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!