扬辉3角

using System;

namespace 扬辉3角
{
 
 class Class1
 {
  public static void yanghui1(int n)//一唯数组
  {
   int [] a = new int[10];

   for (int i = 0; i < n; i++)
   {
    for ( int j = 0; j < n - (i + 1); j++)
    {
     Console.Write("  ");

    }
    for (int j = i; j >= 0; j--)
    {
     if (j == 0 || j == i)
     {
      a[i] = 1;
      Console.Write("{0,4}",a[i]);
     }
     else
     {
      a[j] = a[j] + a[j - 1];
      Console.Write("{0,4}",a[j]);
     }
    }    
       Console.WriteLine();

   }

  }
  public static void yanghui2(int n)//2维数组
  {
   int [ , ]a = new int [n ,n];
   
   for (int i = 0 ; i < n ; i++)
   {
    for (int j = 0; j <= i; j++)
    {
     if (j == 0 || j == i)
     {
      a[i,j] = 1;
     }
     else
     {
       a[i,j] = a[i-1,j] + a[i-1,j-1];
     }
    }   
   }
   for (int i = 0; i < n; i++)
   {
    
    for (int j = 0; j <n-(i+1);j++)
    {
     Console.Write("  ");
    }
    
    for (int j = 0; j <= i; j++)
    {
     
     Console.Write("{0,4} ",a[i,j]);
    }
      Console.WriteLine();
   
   }

  }
  
  public static void yanghui3(int n)//缺口数组
  {
   int [][]a = new int[n][];

   a[0] = new int[1];
   a[1] = new int[2];
   a[2] = new int[3];
   a[3] = new int[4];
   a[4] = new int[5];

   for ( int i = 0; i < n; i++)
   {
    for ( int j = 0; j <= i; j++)
    {
     if(j == 0 || j == i)
     {
      a[i][j] = 1;
     }
     else
     {
      a[i][j] = a[i-1][j] + a[i-1][j-1];
     }
    }
   }
   for (int i = 0; i < n; i++)
   {
    
    for (int j = 0; j <n-(i+1);j++)
    {
     Console.Write(" ");
    }
    
    for (int j = 0; j <= i; j++)
    {
     
     Console.Write("{0,1} ",a[i][j]);
    }
    Console.WriteLine();
   
   }
  }
  
  
  static void Main(string[] args)
  {
      Console.WriteLine("一维数组求解:");
   yanghui1(8);
      Console.WriteLine("二维数组求解:");   
   yanghui2(8);
      Console.WriteLine("缺口数组求解");
   yanghui3(5);
  
  }
 }
}
是以前老师布置的作业题 今天复习C#数组问题 就在写了一边 还是排列不是很好看 以后要改改

输出数之间的空格总是控制不好 都是试出来的 用C语言的方法行不通

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值