黑马程序员-习题练习2

来源:互联网 发布:淘宝如何链接 编辑:程序博客网 时间:2024/06/10 19:39
//已知一个int数组, 编程从数组中获取数组的平均值
        static void Main(string[] args)
        {
            int[] sz = { 12, 3, 4, 6, 3, 15, 2, 6, 8, 6, 8, 9, 15 };
            int sum = 0;
            int avg = 0;
            for (int i = 0; i < sz.Length; i++)
            {
                sum += i;
            }
            avg = sum / sz.Length;
            Console.WriteLine("已知数组sz,其平均值为:"+avg );
            Console.ReadKey();

        }


-----------------------------------------------------------------------------------------------------------------------------------------------

 //随机输入你心中想到的一个名字,然后输出它的字符串长度  Length:可以得字符串的长度。
        static void Main(string[] args)
        {
            Console.WriteLine("请输入你心中所想的一个名字:");
            string name = Console.ReadLine();
            Console.WriteLine("你心中所想的名字为{0},其长度为{1}",name ,name .Length );
            Console.ReadKey();
        }


-------------------------------------------------------------------------------------------------------------------------------------------------

//从一个整数数组中取出最大的整数。
        static void Main(string[] args)
        {
            int[] sz = { 1,4,5,7,15,16,19,9,7,8,12,16};
            int max = sz[0];
            for (int i = 1; i < sz.Length; i++)
            {
                if (max < sz[i])
                {
                    max = sz[i];
                }
            }
            Console.WriteLine("已知整数数组sz,其数组中最大的整数为:"+max );
            Console.ReadKey();
        }


---------------------------------------------------------------------------------------------------------------------------------------------

//2006年培养学员80000人,每年增长25%,
        //请问按此增长速度,到哪一年培训学员人数将达到20万人?
        static void Main(string[] args)
        {
            int stu = 80000;
            int year = 0;
            while (stu <= 200000)
            {
                stu = (int )(stu * 1.25);
                year++;
            }
            Console.WriteLine("将于{0}年人数达到20万人。",2006+year);
            Console.ReadKey();


        }


----------------------------------------------------------------------------------------------------------------------------------------------

//让用户输入张三的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False        
        //1)张三的语文和数学成绩都大于90分        
        //2)语文和数学有一门是大于90分的
        static void Main(string[] args)
        {
            int chinese = 0;
            int math = 0;
            while (true)
            {
                try
                {
                    Console.WriteLine("请输入张三的语文成绩:");
                    chinese = Convert.ToInt32(Console.ReadLine());
                    break;
                }
                catch
                {
                    Console.WriteLine("您输入的有误,请重新输入。");
                }
            }


                while (true)
                {
                    try
                    {
                        Console.WriteLine("请输入张三的数学成绩:");
                        math = Convert.ToInt32(Console.ReadLine());
                        break;
                    }
                    catch
                    {
                        Console.WriteLine("您输入的有误,请重新输入。");
                    }
                }
                Console.WriteLine("1)张三的语文和数学成绩都大于90分");
                if (chinese > 90 && math > 90)
                {
                    Console.WriteLine("True");
                }
                else
                {
                    Console.WriteLine("False");
                }
                Console.WriteLine("2)语文和数学有一门是大于90分的");
                if (chinese > 90 || math > 90)
                {
                    Console.WriteLine("True");
                }
                else
                {
                    Console.WriteLine("False");
                }
                Console.ReadKey();
            }


---------------------------------------------------------------------------------------------------------------------------------------------

//判断字符串是否为正确的国内电话号码,不考虑分机。比如“010-95555”、“01095555”、
        //“95555”都是正确的号码。区号为3位或者4位。(一个正则表达式足以)
        static void Main(string[] args)
        {
            string regexTest = @"\d{3,4}\-?\d+"; //构造正则表达式
            string testPhone = "010-95555"; //输入测试号码
            Console.WriteLine("是否为国内电话:" + Regex.IsMatch(testPhone, regexTest));


            Console.ReadKey();
        }


-------------------------------------------------------------------------------------------------------------------------------------------------

//用方法实现找出一个int类型数组中最大值和最小值。
        static void Main(string[] args)
        {
            int[] sz = { 1, 4, 5, 7, 15, 16, 19, 9, 7, 8, 12, 16 };
            int max = sz.Max();
            int min = sz.Min();
            Console.WriteLine("已知数组sz,其数组中的最大值为{0},最小值为{1}",max,min );
            Console.ReadKey();
        }




        public int Max(int[] sz)
        {
            int max = sz[0];
            for (int i = 1; i < sz.Length; i++)
            {
                if (max < sz[i])
                {
                    max = sz[i];
                }
            }
            return max ;


        }


        public int Min(int[] sz)
        {
            int min = sz[0];
            for (int i = 1; i < sz.Length; i++)
            {
                if (min > sz[i])
                {
                    min = sz[i];
                }
            }
            return min;


        }


---------------------------------------------------------------------------------------------------------------------------------------------

//编写程序,该程序启动后用户可以按“yyyy-MM-dd”的格式输入一个日期,
        //程序计算这一天是星期几,并且计算出是一年中的第几天。
        static void Main(string[] args)
        {
            DateTime date;
            while (true)
            {
                Console.WriteLine("请您输入一个类似“2008-01-02”格式的日期");
                string input = Console.ReadLine();


                if (DateTime.TryParse(input, out date))
                {
                    break;
                }
                else
                {
                    Console.WriteLine("您输入的日期有误,请重新输入。");
                }
            }
            int a = date.DayOfYear;
            DayOfWeek b = date.DayOfWeek;
            Console.WriteLine("你输入的这天是{0},是一年中的第{1}天。",b,a );
            Console.ReadKey();
        }


-------------------------------------------------------------------------------------------------------------------------------------------------

 //接收用户输入的字符串,将其中的字符以与输入相反的顺序输出。"abc"→"cba"
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一句话:");
            string input = Console.ReadLine();
            for (int i = input.Length - 1; i >= 0; i--)
            {
                Console.Write(input [i]);
            }
            Console.ReadKey();
        }


--------------------------------------------------------------------------------------------------------------------------------------------------

//.接收用户输入的一句英文,将其中的单词以反序输出。
        //“I love you"→“I evol uoy"
        static void Main(string[] args)
        {
            Console.WriteLine("请输入一句英文:");
            string input = Console.ReadLine();
            char[] ch = { ' ',',','.','!'};
            string[] fanxu = input.Split(ch, StringSplitOptions.RemoveEmptyEntries);
            for (int i = fanxu.Length - 1; i >= 0; i--)
            {
                Console.Write(fanxu[i ]);
                if (!(i == 0))
                {
                    Console.Write(" ");
                }
            }
            Console.ReadKey();
        }


---------------------------------------------------------------------------------------------------------------------------------------------

 //”2012年12月21日”从日期字符串中把年月日分别取出来,打印到控制台


        static void Main(string[] args)
        {
            string date = "2012年12月21日";
            string[] str = date.Split(new Char[] { '年', '月', '日' }, StringSplitOptions.RemoveEmptyEntries);
            Console.WriteLine(string.Join (" ",str ));
            Console.ReadKey();
        }


------------------------------------------------------------------------------------------------------------------------------------------

 //把csv文件中的联系人姓名和电话显示出来。简单模拟csv文件,csv文件就是使用,
        //分割数据的文本,输出:姓名:张三  电话:15001111113
        static void Main(string[] args)
        {
            string[] lines = File.ReadAllLines(@"d:\My Documents\visual studio 2010\Projects\试题练习\No.24\联系人.csv", Encoding.Default);
            foreach (string line in lines)
            {
                string str = line.Replace("“", "");
                string[] str1 = str.Split(',');
                  Console.WriteLine("姓名:{0}{1}   电话:{2}",str1 [0],str1 [1],str1 [2]);
                Console.ReadKey();
            }
        }



-----------------------------------------------------------------------------------------------------------------------------------------

//123-456---7---89-----123----2把类似的字符串中重复符号去掉,
        //既得到123-456-789-123-2. split()、StringSplitOptions.RemoveEmptyEntries   Join()
        static void Main(string[] args)
        {
            string s = "123-456---7---89-----123----2";
            string[] str = s.Split(new char []{'-'}, StringSplitOptions.RemoveEmptyEntries );
            Console.WriteLine(string.Join ("-",str ));
            Console.ReadKey();


        }


0 0