杨辉三角形c语言的实现

93 阅读1分钟
//
// Created by someb on 2024/2/12.
//二维数组的课后练习
#include<stdio.h>
#define ROWS 10
#define COLS 10

int main(){
    //输出10行杨辉三角

    //1.声明二维数组,对应杨辉三角形
    int yangHui[ROWS][COLS];
    //2.给二维数组的每个元素赋值
    yangHui[0][0] = 1;
    for(int i = 1;i < ROWS;i++){
        for(int j = 0;j <= i;j++){
        //2.1每行的首尾元素赋值为1
            if(j == 0){
                yangHui[i][0] = 1;
            }else if(i == j){
                yangHui[i][j] = 1;
            }else{
                //2.2每行的非首尾元素赋值为:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
                yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
            }

        }
    }
    //3.遍历二维数组
    for(int i = 0;i < 10;i++){
        for(int j = 0;j <=i;j++){
            printf("%d ",yangHui[i][j]);
        }
        printf("\n");
    }

    return 0;
}

执行结果

D:\workspace\cloin\project\cmake-build-debug\11_ArrayMoreExcer1.exe
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

Process finished with exit code 0