IT你好

加入 |登录

IT你好技术论坛广场IT档案袋 › 查看主题

180

查看

0

回复
返回列表

Rank: 8Rank: 8

帖子
62 
精华
积分
641 
UID
68 
go

杨辉三角C#版

1
发表于 2010-6-15 20:24 | 只看该作者 | 倒序看帖 | 打印
在VS2005下新建一个Visual C#控制台工程,添加如下代码,,
//---------分隔符
using System;

namespace ConsoleApplication4
{
        /// <summary>
        /// Class1 的摘要说明。
        /// </summary>
        class Class1
        {
                /// <summary>
                /// 应用程序的主入口点。
                /// </summary>
                [STAThread]
                static void Main(string[] args)
                {
                        const int N = 10;          //要打印的层数
                        const int GAP = 3;         //间隔
                        int[] arr = new int[N];    //用于保存生成的杨辉三角的每一行的值
   
                        arr[0] = arr[1] = 1;       //杨辉三角的第二层
   
                        //先打印第一二层
                        string blank = "";
                        Console.Write(blank.PadRight(GAP * N,' '));
                        Console.WriteLine("1");
                        Console.Write(blank.PadRight(GAP * (N -1),' '));
                        Console.WriteLine(arr[0].ToString().PadRight(2*GAP) + arr[1].ToString());
   
                        //不断地求杨辉三角的每一层
                        for (int i = 1;i < N-1;i++)   
                        {
                                arr[i + 1] = 1;              // 最外边数为1
        
                                for (int j = i;j > 0;j--)   
                                {
                                        arr[j] = arr[j - 1] + arr[j];   //其余的数都等于它肩上的两个数的和
                                }
        
                                //打印出每一层
                                Console.Write(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");
                        }
                        Console.ReadLine();
                }
        }
}
Impossible into I'm possible

TOP

IT你好技术论坛

GMT+8, 2026-1-13 07:32, Processed in 0.014796 second(s), 10 queries.

Powered by Discuz! X1

© 2001-2010 Comsenz Inc.