解题思路:
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;  
}

看看大家还有什么不懂得,请在下方评论区留言

点赞(15)
 

0.0分

7 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论