输出直角杨辉三角

#include <stdio.h>
int main(void)
{
    int i, j;
    int a[10][10];
    printf(“\n”);
    for(i = 0; i < 10; i++)
    {
        a[i][0] = 1; //每行首元素都是1
        a[i][i] = 1; //对角线是都是1
    }
    for(i = 2; i < 10; i++) //循环时从第3行
        for(j = 1; j < i; j++) //第1列开始,第0,1行,对角线都有值了。
            a[i][j] = a[i – 1][j – 1] + a[i – 1][j]; //从第2个元素起,当前元素等于上面一个元素加上上面这个元素左边这个元素
    for(i = 0; i < 10; i++)
    {
        for(j = 0; j <= i; j++)
            printf(“%5d”, a[i][j]); //输出元素,没有的那些元素就不会输出
            printf(“\n”);
   
   
    }
/*
 * 1
 * 1 1
 * 1 2 1
 * 1 3 3 1
 * 1 4 6 4 1
 * 1 5 10 10 5 1
 * 1 6 15 20 15 6 1
 * 1 7 21 35 35 21 7 1
 * 1 8 28 56 70 56 28 8 1
 * 1 9 36 84 126 126 84 36 9 1
 *
 * 规律:从第3行开始,每行从第2个元素起当前元素等于它上面那个元素加上它上面那个元素的左边那个元素之和
 * 如第4行 : 1 +_3 = 4 3 + 3 = 6 3 + 1 = 4
 *
 */
    return 0;
}

    原文作者:杨辉三角问题
    原文地址: https://blog.csdn.net/c112056a/article/details/80707292
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞