注册 登录
编程论坛 C语言论坛

对称倒立的杨辉三角

anhaoAH 发布于 2019-12-31 21:02, 1735 次点击
如何打印这样的杨辉三角?
   1   4   6   4   1
     1   3   3   1
       1   2   1
         1   1
           1
1 回复
#2
自学的数学2019-12-31 21:23
程序代码:
#include<stdio.h>
    int main()
    {
        int n,a[10][10]={0},i,j,k;
        while (scanf("%d",&n)!=EOF&&(n>=1&&n<=10))
        {
            for(i=0;i<n;i++)
            {
                for(j=0;j<=i;j++)
                {
                    if(i==j||j==0)    //买一行的第一个是1加上对角线是1
                        a[i][j]=1;
                    else
                        a[i][j]=a[i-1][j]+a[i-1][j-1];//其余的用肩膀上的两个数字相加
                }
            }

         //输出程序:(倒置的杨辉三角输出)
            for(i=0;i<n;i++)
            {
                for(j=0;j<i;j++)     //输出空格
                    printf("   ");   //空格由少变多
                for(k=0;k<n-i;k++)
                {
                    printf("%3d",a[n-i-1][k]);     //倒着从数组里边取出数字输出
                    printf("   ");
                }
                printf("\n");
            }
            printf("\n");
        }
        return 0;
         //正杨辉三角输出:
        for(i=0;i<n;i++)
            {
                for(j=n-i;j>0;j--)
                      printf("  ");
                for(k=0;k<=i;k++)
                    {
                        printf("%3d",a[i][k]);
                        printf("   ");
                    }
                    printf("\n");
            }
  }
1