前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >杨辉三角

杨辉三角

作者头像
pigeon
发布2022-04-11 19:55:35
5100
发布2022-04-11 19:55:35
举报
文章被收录于专栏:电子荣耀电子荣耀

【例】生成杨辉三角的前10行并存放到二维数组中,然后输出杨三角。

杨辉三角是按照如下规律排列的数据:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

......

【思路分析】首先通过观察可以知道,杨辉三角的第n行共有n个整数,因此如果要存放前10行的杨辉三角,需要定义一个10行10列的二维数组,例如取名为yh。

生成杨辉三角所有数据的过程实际是向二维数组中填写整数的过程。可以很容易发现

程序中需要填写的数组元素yh[i][j]的下标满足j<=i,即只需要填写二维数组左下方这一半的数据。接着分析填入数据的规律可以发现当列下标j等于0或i时,yh[i][j]需要填写1;其他情况下,yh[i][j]是yh[i-1][j-1]与yh[i-1][j]的和。

【参考代码】:

代码语言:javascript
复制
//生成杨辉三角的前10行并存放到二维数组中,然后输出杨三角。
#include<stdio.h>
#define N 10
int main()
{
    int yh[][];
    int i,j;
    //下面的双层循环填写杨辉三角
    for(i=;i<N;i++)
    {
        for(j=;j<=i;j++)
        {
            if(i==j||j==)
                yh[i][j]=;
            else 
                yh[i][j]=yh[i-1][j-1]+yh[i-1][j];
        }
    }
    //下面输出杨辉三角
    for(i=;i<N;i++)
    {
        for(j=;j<=i;j++)
        {

            printf("%4d ",yh[i][j]);
        }
        printf("\n");
    }
    return ;
}

【程序结果】:

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-06-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子荣耀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档