学习了一段时间的C#,做了个杨辉三角的题目来测试一下自己,没想到竟然做出来了。当年学习JAVA的时候没能把杨辉三角的题目很好的做出来,现在可以了,心中好不高兴。
也不知道有没有更好的实现办法,如果有的话,请知道的朋友告诉我吧。
using System;
using System.Collections.Generic;
using System.Text;
namespace yanghuisanjiao
{
    class yanghui
    {
        static void Main(string[] args)
        {
            int i = 10;
            yanghui yh = new yanghui();
            yh.yanghuisanjiao(i);
            Console.ReadLine();
        }
        void yanghuisanjiao(int i)
        {
            int[,] ArrayData = new int[i+1,2*i+1];
            //设定数组元素全部为零
            for (int j = 0; j <= i; j++)
            {
                for (int k = 0; k <= 2 * i; k++)
                {
                    ArrayData[j, k] = 0;
                }
            }
            ArrayData[0,i] = 1;
            ArrayData[i, 0] = 1;
            ArrayData[i, 2 * i] = 1;
            for (int j = 1; j <= i; j++)
            {
                for (int k = 0; 2*k-j < i; k++)
                {
                    if(i-j+2*k-1>=0&&2*k+1-j<=i)
                    ArrayData[j, i - j + 2 * k] = ArrayData[j - 1, i - j + 2 * k - 1] + ArrayData[j - 1, i - j + 2 * k + 1];
                }
             }
                       
            for (int j = 0; j <= i; j++)
            {
                for (int k = 0; k <= 2 * i; k++)
                {
                    if (ArrayData[j, k] == 0)
                        Console.Write(" ");
                    //else if (ArrayData[j, k] < 10)
                 //       Console.Write(ArrayData[j, k] + " ");
                    else
                        Console.Write(ArrayData[j, k]);
                }
                Console.WriteLine();
            }
        }
    }
}
有一个地方是可以在修改一下的,就是对i的赋值,可以通过读取来做,不过很简单,自己也懒得做,就这样吧。