原题链接:倒杨辉三角形
解题思路:
1.先写出基本的杨辉三角的样式,存在数组当中。
2.然后倒着输出,找到倒着输出的规律就好了。记得数字的占位符的宽度应该和一次输出的空格的长度相等。
参考代码:
#include<stdio.h> int main() { int n,a[10][10]={0},i,j,k; //二维数组存基本杨辉三角 while (scanf("%d",&n)!=EOF&&(n>=1&&n<=10)) { for(i=0;i<n;i++) //先往数组里存杨辉三角的基本样子 { for(j=0;j<=i;j++) { if(i==j||j==0) //杨辉三角的规律:当行与列相等时或者列为0的时候,为1 a[i][j]=1; else a[i][j]=a[i-1][j]+a[i-1][j-1]; //其他时候是前面的两个相加即可 } } for(i=0;i<n;i++) //按要求输出杨辉三角 { for(j=0;j<i;j++) printf(" "); //输出行两个占位符的间隔是3,为了避免bong输出数字就直接用3个空格去代替 for(k=0;k<n-i;k++){ //倒着输出 printf("%3d",a[n-i-1][k]); //占位符为3 printf(" "); //后面接着来间隔,方便下一个如果有数,就输出,没数,就输出3个空格 } printf("\n"); } printf("\n"); } return 0; }
看看大家还有什么不懂得,请在下方评论区留言
0.0分
7 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复