二维数组打印杨辉三角

二维数组打印杨辉三角

让我们用C语言来打印出高中让我们头疼的杨辉三角,话不多说,上代码

  1. 我们先创建一个二维数组,并初始化为0,定义两个整形变量i,j控制行数和列数i,再定义一个n用来接受打印的行数
    int a[100][100]= {0};
    int i,j,n;
  1. 输入打印的行数,并控制行数在1到100行以内
do
    {
        printf("请输入打印的行数:");
        scanf("%d",&n);
    } while(n<0||n>100);

3.根据杨辉三角的性质(第i行j列的数等于i-1行j-1列的数加上i-1行j列的数)进行操作

    a[0][0]=1;//第一行为1
    for(i=1; i<=n; i++)
    {
        a[i][0]=1;//每一行的第一列都为1
        for(j=1; j<=n; j++)
        {
           if(i==j)
              a[i][j]=1;//每一行的最后一列为1
            //其他情况处理
           else
             a[i][j]=a[i-1][j-1]+a[i-1][j];
        }
    }

4.打印杨辉三角

for(i=0; i<=n; i++) {
   for(int k=n;k>=i;k--)      
     printf(" ");        
   for(j=0; j<=i; j++) {                         
     printf("%2d",a[i][j]);       
    }       
   printf("\n");   
 }

全部代码如下

#include<stdio.h>
int main()
{
  int a[100][100]= {0};
  int i,j,n;
  //打印的行数小于0或者多于100时,重新输入
  do
   {
        printf("请输入打印的行数:");
        scanf("%d",&n);
   } while(n<0||n>100);
   a[0][0]=1;//第一行为1
   for(i=1; i<=n; i++)
    {
      a[i][0]=1;//每一行的第一列都为1
      for(j=1; j<=n; j++)
       {
         if(i==j)
           a[i][j]=1;//每一行的最后一列为1
         //其他情况处理
         else
           a[i][j]=a[i-1][j-1]+a[i-1][j];
       }
    }
   //打印出二维数组a
   for(i=0; i<=n; i++) {
     for(int k=n;k>=i;k--)
       printf(" ");
     for(j=0; j<=i; j++) {
       printf("%2d",a[i][j]);
      }
     printf("\n");
    }
  return 0;
} 

希望对你的有所帮助 ໒(⊙ᴗ⊙)७✎▤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点灯大师~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值