关于杭电OJ 2032的小体会

本文分享了一个关于杨辉三角的C语言实现代码。通过使用二维数组,代码能够生成指定行数的杨辉三角,并遵循正确的数学规律。文章详细记录了代码思路,确保了代码的规范性和可读性。

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

 

在这里插入图片描述

 

身为一名程序小白来说,在刚学习完一个知识点的时候,最好的巩固方法莫过于解决一道关于该知识点的题目了(不才自认为)。因此,在初步接触了二维数组之后,很幸运地遇到了这道虽不算太难但是又很有趣的题目,因为杨辉三角应该足以说是很经典的数学案例了吧。

言归正传,关于解决问题的代码思路,已经比较详细地记录在了代码当中。
而且经过实践证明呢,它在提交之后获得的结果也是Acceped,所以说代码的正确性应该是没有问题的。
另外,每次写完代码之后都习惯性地将所写的代码格式尽量规范化,增强其可读性。
代码如下:
 

#include<stdio.h>
int main()
{
    int a[30][30] = {0};
    //设置一个空二维数组
    int i, j, n;
    //n即为输入的个数,其余两个变量用来控制循环
    while(scanf("%d", &n)!=EOF)
    //基本控制输入格式
    {
        for(i = 0; i < n; i++)//控制行数
        {
            for(j = 0; j <= i; j++)
            //对于每行的具体输出进行安排
            {
                if(j == 0 || j == i)
                    a[i][j] = 1;
//每行的第一位和最后一位数字均为1
                else
                    a[i][j] = a[i-1][j-1] + a[i-1][j];
//参考杨辉三角的标准样例可以得到此规律
//下一行除去两头的数总是等于它正上方的数加上它左上方的数
            }
        }
        for(i = 0; i < n; i++)//此循环则是为了控制输出
        {
            for(j = 0; j <= i; j++)
            {
                if(j == i)
                    printf("%d\n",a[i][j]);
//很容易看明白,当i和j相等时,即代表完成了一行输出
                else
                    printf("%d ",a[i][j]);
            }
        }
        printf("\n");//题目的格式要求
    }
    return 0;
}

OVER

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值