C语言:如何不用数组输出杨辉三角

这篇博客展示了如何使用C语言实现杨辉三角的输出,不依赖于二维数组。代码中采用数学公式动态计算每一行的数值,对于新手来说是一个有趣的实现方式。

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

看了很多大佬的杨辉三角的输出方法,大多都是用二维数组,极少有人不用数组输出的,废话少说上代码:

#include<stdio.h>
int main()
{
    void div(int );
    int n;
    while((scanf("%d", &n)) != 0 && n != 0)
    {
        div(n);
        printf("\n");
    }
    return 0;
}
void div(int n)
{
    int ytu(int n);
    int m, h, a, b, k, sum;
    for(m=1;m<=n;m++)
    {
        b = m-1;
        for(k=1,a=1,sum=1;k<=m;k++)
        {
            if(k == 1)
            printf("1");
            else if(k == m)
            printf(" 1");
            else
            {
                a *= b;    //我使用的数学公式为从本行第二个数起至倒数第二个数 
                b--;        //第n行第2个数为(n-1)/1! ,第n行第3个数为(n-1)*(n-2)/2!
                sum *= k-1;    //以此类推 
                a /= sum,sum = 1;
                printf(" %d", a/sum);
            }
        }
        printf("\n");
    }
    return ;
}

(新手勿喷,谢谢合作)

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值