【C语言】杨辉三角

该文介绍了一种使用C语言生成杨辉三角的方法,通过一个a[10][10]的二维数组存储,并利用嵌套循环来遵循杨辉三角的规律,即新行的每个元素是上一行两个相邻元素之和。代码通过初始化对角线和第一列的值为1,然后按照行和列的关系填充其余部分,最后打印数组完成输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

代码实现

#include "stdio.h"
int main()
{
    int a[10][10], i, j;
    for (i = 0; i <= 9; i++)
    {
        for (j = 0; j <= i; j++)
        {
            if (j == 0 || i == j)
            {
                a[i][j] = 1;
            }
            else
                a[i][j] = a[i - 1][j] + a[i - 1][j - 1];
        }
    }
    for (i = 0; i <= 9; i++)
    {
        for (j = 0; j <= i; j++)
        {
            printf("%4d", a[i][j]);
        }
        printf("\n");
    }
    return 0;
}

过程解析

如图所示,如果我们想实现该图的杨辉三角,我们可以先观察该杨辉三角,发现他是一个十行十列的三角,因此我们可以设定一个a[10][10]的数组,杨辉三角是呈一定规律排列的,将他对应到数组中也不例外,我们将数组可视化到表格中

现在我们再结合两张图来看,可以很轻松的发现,该表格数组的对角线a[0][0],a[1][1]等都对应杨辉三角的对角线‘1’,数组的第一列对应三角的第一列‘1’,我们再观察一下三角图,也不难发现,每一行中间的数字,都等于上一行同一列加上上一行上一列,例如:第三行第二列的‘2’等于第二行第二列的‘1’加上第二行第一列的‘1’,第四行第二列的‘3’,等于第三行第二列‘2’加上第三行第一列的‘1’,因此我们可以得出:a[i][j] = a[i - 1][j] + a[i - 1][j - 1];

找到规律后我们就可以开始编译代码了,我们可以通过for循环,将三角中等于1的值给到相应的数组中,然后再将中间的数字通过找到的规律和for循环给值到数组中,最后循环打印,代码就完成了。

当然,在使用循环时,我们应该是通过循环的嵌套来实现,用行的循环嵌套列的循环,以保证每一行的列数都能够使用和打印数组

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值