在屏幕上打印杨辉三角

思路


杨辉三角
这里写图片描述
(1)我们先在画图板上简单的写一下杨辉三角,通过观察我们可以发现用二维数组可以很好地实现。
(2)可以把第一列和斜线那一列都赋成1,再打印中间的数 。
(3)通过观察,如果设行数为i,列数为j,arr[i][j] = arr[i-1][j-1] + arr[i-1][j]。
(4)内容都搞定了,然后我们可以通过打印空格使它成为一个等腰三角形。

代码实现



    #include <stdio.h>
    #include <windows.h>
    #define n 10 //控制行数
        int main()
    {
       int arr[n][n] = {0};
       int i = 0;
       int j = 0;
       for(i=0; i<n; i++)
       {
           for(j=1; j<n-i; j++)//控制空格
           {
               printf("  ");//打印空格
           }
           for(j=0; j<=i; j++)
           {
               if(j==0 || i==j)//第一列和i=j列赋成1
               {
                   arr[i][j] = 1;
               }
               else
               {
                   arr[i][j] = arr[i-1][j-1] + arr[i-1][j];
               }
               printf("%4d",arr[i][j]);//对齐,打印数组
           }
           printf("\n");
       }
       system("color F1");//改变一下颜色
       return 0;
    }

效果截图

这里写图片描述

猜你喜欢

转载自blog.csdn.net/lzhcr123/article/details/79902154
今日推荐