题解 | #杨辉三角#

杨辉三角

http://www.nowcoder.com/practice/e671c6a913d448318a49be87850adbcc

#include<stdio.h>
int main()
{
    int n =0;
    scanf("%d",&n);
    int arr[31][31]={0};        //定义一个二维数组同时初始化为零
    arr[1][1]=1;                //赋第一个值
    for(int i = 2;i<n+1;++i)    //从原数组第三行第二列开始循环赋值,因为顶上一行为零,所以多循环一行一列
    {
        for(int j = 1;j<n+1;++j)    
        {
            arr[i][j]=arr[i-1][j-1]+arr[i-1][j];        //等于左上加上方的和
            if(arr[i][j]==0) break;
        }
    }
    for(int i = 1;i<n+1;++i)        //因为最外围是最开始初始化的零,所以不打印,同时多打印一行
    {
        for(int j = 1;j<n+1;++j)
        {
            if(arr[i][j]!=0)
                printf("%5d",arr[i][j]);
        }
        printf("\n");
    }
    return 0;
}

全部评论

相关推荐

面了100年面试不知...:太礼貌,还是
点赞 评论 收藏
分享
面了100年面试不知...:头像换成柯南再试试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务