C语言编程题——杨辉三角

题目内容

在屏幕上打印杨辉三角。
1
1 1
1 2 1
1 3 3 1
……

杨辉三角

前提:每行端点与结尾的数为1
每个数为上方的两数之和,且头两行无需计算全都是1。
在框起来的三角形内 行都是>=2的,列都是>=1的。当行列都在范围内的时候才需要去计算。
C语言编程题——杨辉三角_第1张图片

代码实现

#include 
#define MAX 10

int main()
{
        int arr[MAX][MAX] = {0};
        int i,j;

        for(i = 0;i < MAX;i++)
        {
                for(j = 0;j <= i;j++)//让第i行打印i列
                {
                        if(0 == j)
                        {
                                arr[i][j] = 1;//让第一列的数全部变成1
                        }
                        if(i == j)
                        {
                                arr[i][j]= 1;//让最右端的数全部变为1
                        }
                        if(i >= 2 && j >= 1)//在第三行第二列的时候才开始需要去计算
                        {
                                arr[i][j]= arr[i - 1][j]+ arr[i - 1][j - 1];//计算规律
                        }
                        printf("%-3d ",arr[i][j]);
                }
                putchar('\n');
        }

        return 0;
}

结果

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 

你可能感兴趣的:(c语言,算法,c++)