请教各位高手:
打印如下 杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
谢谢了!!
[此贴子已经被作者于2005-11-22 14:35:44编辑过]
//杨辉三角 掌握方法才是最终的目的
using System;
class class1
{
static void Main(string[] args)
{
const int N = 10; //行数
const int Gap = 3; //间隔
int[] arr = new int[10]; //保存每行的值
arr[0] = arr[1] = 1; //2行比较特殊,都是1 先把他们打出来
string blank = "";
Console.Write(blank.PadRight(N * Gap,' '));
Console.WriteLine("1");
Console.Write(blank.PadRight((N-1) * Gap, ' '));
Console.WriteLine(arr[0].ToString().PadRight(2*Gap,' ') +
arr[1].ToString());
for(int i=1 ;i<N-1;i++)
{
arr[i+1] = 1;
for(int j=i; j>0 ; j--)
{
arr[j] = arr[j] + arr[j-1];
}
Console.WriteLine(blank.PadRight(Gap*(N-i-1),' '));
for(int j = 0 ;j< i+2 ;j++)
{
Console.Write(arr[j].ToString().PadRight(2*Gap,' '));
}
Console.Write("\n");
}
}
}
[此贴子已经被作者于2005-11-24 21:44:24编辑过]