杨辉三角前n行的输出

宝塔形状的杨辉三角,前n行的输出

#include <stdio.h>
int main() {
    //输出宝塔形杨辉三角的前N行
    int row = 7;  //行数
    int col = 2 * row; //列数
    int i, j, a[7][14] = {0}; //鉴于学生们不学动态申请内存,这里的行列数直接写好。
    for (i = 0; i < row; i++) {
        for (j = 0; j < col; j++) {
            //先找1的位置
            if (j == row - 1 - i || j == row - 1 + i) {
                a[i][j] = 1;
                printf("%5d", a[i][j]);
                //从第二行开始,输出的数字在两边1的中间位置,并且当前列的上一行不能有数字(为0)
            } else if (i > 0 && j > row - 1 - i && j < row - 1 + i && a[i - 1][j] == 0) {
                a[i][j] = a[i - 1][j - 1] + a[i - 1][j + 1];
                printf("%5d", a[i][j]);
            } else {//其他情况输出空格
                printf("%5c", ' ' );
            }
        }
        printf("\n");//每一行结尾输出换行
    }
    return 0;
}


打赏
关键词: 杨辉三角

1 评论

  1. 曹家慧
    网友曹家慧留言:
    这个我会老师你微信理我一下

发表评论