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语言的方法行不通