7-1 杨辉三角

求杨辉三角的前n行数据。

输入格式:

输入n(n<10)值。

输出格式:

输出杨辉三角的前n行数据,每个数据占4列。

输入样例:

5

输出样例:

   1
   1   1
   1   2   1
   1   3   3   1
   1   4   6   4   1

思路:

杨辉三角:

选取一个二维数组a[10][10]存储每行的数字。看图可得出杨辉三角的规律:即每一行的第一个和最后一个数字为1,中间的数字为该位置上一行相对应的位置的值加上上一行相应位置的前面一个数字。比如第五行的第一个和最后一个数字均为1,第二个数字4则为第三行的第二个数字即3加上其前一个数字即1。代码可表示为(若为第i-1行,第j-1列,a[i][j]=a[i-1][j-1]+a[i-1][j] )

代码的话:首先读入一个整数n,然后定义一个二维数组a,用来存储杨辉三角中的每个数。接着用两个for循环遍历数组a,对于每个位置,如果它是第一列或者最后一列,那么它的值就是1,否则它的值就是上一行的左上角和右上角的值之和。最后再用两个for循环遍历数组a,打印出每个数。注意每个数字占四列。

完整代码:

#include <stdio.h>

int main()
{
    int n;
    scanf("%d",&n);
    int a[10][10];
    for(int i=0;i<n;i++){
        for(int j=0;j<=i;j++){
            if(j==0||j==i) a[i][j]=1;
            else a[i][j]=a[i-1][j-1]+a[i-1][j];
        }
    }
    for(int i=0;i<n;i++){
        for(int j=0;j<=i;j++){
            printf("   %d",a[i][j]);
        }
        printf("\n");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值