数组应用之杨辉三角形

在利用数组处理批量数据这一章节中,我已经初步熟悉掌握了如何定义引用一维二维多维以及字符数组,那么接下来就应该结合之前所学利用数组解决一些较难使用简单的数据类型完成的问题喽,接下来我将引用以下例题说明一下如何运用数组来实现批量数据的处理!
那么今天我的题目就是输出以下的杨辉三角形(要求输出10行).

#include<stdio.h>
#define N 10
int main()
{
    int i,j,a[N][N];//定义数组为10行10列
    for(i=0;i<N;i++)
    {
        a[i][i]=1;                                            //使对角线元素的值为1
        a[i][0]=1;											 //使第一列元素的值为1
    }
    for(i=2;i<N;i++)
    		/*从第3行开始处理,除上文指出的第一个数和最后一个数为1以外其余各数是上一行同列和前一列两个数之和*/
        for(j=1;j<=i-1;j++)
        a[i][j]=a[i-1][j-1]+a[i-1][j];
    for(i=0;i<N;i++)
    {
        for(j=0;j<=i;j++)
            printf("%6d",a[i][j]);						//输出各元素的值
        printf("\n");
    }
    printf("\n");
    return 0;
}

分析:
1.首先拿到这个题目我们可以想象到有很多数据需要处理,那么第一个想到的就是采用数组批量处理。
2.明确数据的维度在此例中只需要使用二维数组即可,10行10列。
3.寻找规律,在高中阶段我们就已经明白杨辉三角形是(a+b)^n张开后各项的系数,因此掌握了此规律就可以开始构建代码的大致框架了,分三步即可实现要求。
注意:数组a[N][N]的下标是从a[0]a[1]a[2]…a[N-2]a[N-1]的,不存在a[N]这一元素!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值