您的位置:首页 > 科技 > IT业 > 【C语言训练题库】杨辉三角(下三角型和金字塔型)

【C语言训练题库】杨辉三角(下三角型和金字塔型)

2024/9/24 1:16:19 来源:https://blog.csdn.net/Gao123456fy/article/details/139304039  浏览:    关键词:【C语言训练题库】杨辉三角(下三角型和金字塔型)

 🔥博客主页🔥:【 坊钰_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.  解析:

  1. 该图形为下三角
  2. 如用二维数组来创建,则当( i==j || j==0 )时,arr [ i ][ j ] == 1,这样就处理了对角线和第一列的打印
  3. 剩余部分我们可发现规律-> arr [ i ][ j ] =arr [ i-1 ][ j ] + arr [ i-1 ][ j-1 ]
  4. 图解:

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. 解析

  1. 要想打印上图,我们先打印出金字塔形状
  2. 金字塔前方空格是重点,不能忘掉
  3. 打印金字塔模型后,在把杨辉三角数依次往里代
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. 小结

 以上就是关于杨辉三角的内容了,具体还需宝子们去实践,如果觉得该博客对你有用的话,希望一键三连,点个关注不迷路,谢谢支持!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com