3月18日 全部练习题(二)

 

 // 13.输入月份和日期,输出是今年的第多少天。(2月按照28天计算)利用switch case。

            int m1 = 31, m2 = 28, m3 = 31, m4 = 30, m5 = 31, m6 = 30, m7 = 31, m8 = 31, m9 = 30, m10 = 31, m11 = 30;
            Console.Write("请输入月份:");
            int m = int.Parse(Console.ReadLine());
            Console.Write("请输入日期:");
            int d = int.Parse(Console.ReadLine());
            switch (m)
            {
                case 1:
                    Console.WriteLine("现在是今年的第" + d + "天。");
                    break;
                case 2:
                    Console.WriteLine("现在是今年的第" + (m1 + d) + "天。");
                    break;
                case 3:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + d) + "天。");
                    break;
                case 4:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + d) + "天。");
                    break;
                case 5:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + d) + "天。");
                    break;
                case 6:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + d) + "天。");
                    break;
                case 7:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + d) + "天。");
                    break;
                case 8:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + d) + "天。");
                    break;
                case 9:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + d) + "天。");
                    break;
                case 10:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + d) + "天。");
                    break;
                case 11:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + d) + "天。");
                    break;
                case 12:
                    Console.WriteLine("现在是今年的第" + (m1 + m2 + m3 + m4 + m5 + m6 + m7 + m8 + m9 + m10 + m11 + d) + "天。");
                    break;
                default:
                    Console.WriteLine("您的输入有误!");
                    break;
            }
            Console.ReadLine();

// 14.百鸡百钱:公鸡2文钱一只,母鸡1文钱一只,小鸡半文钱一只,
     总共只有100文钱,如何在凑够100只鸡的情况下刚好花完100文钱?利用for嵌套+if筛选。

 int sum = 0;
            for (int gj = 0; gj <= 50; gj++)
            {
                for (int mj = 0; mj <= 100; mj++)
                {
                    for (int xj = 0; xj <= 200; xj++)
                    {
                        if (2 * gj + mj + 0.5 * xj == 100 && gj + mj + xj == 100)
                        {
                            sum++;
                            Console.WriteLine("这是第" + sum + "种情况:公鸡" + gj + "只。母鸡" + mj + "只,小鸡" + xj + "只。");
                        }
                    }
                }
            }
            Console.ReadLine();

 //15.大马驼2石粮食,中等马驼1石粮食,两头小马驼1石粮食,要用100匹马,驼100石粮食,该如何分配?利用for嵌套+if筛选。

  int sum = 0;
            for (int da = 0; da <= 50; da++)
            {
                for (int zhong = 0; zhong <= 100; zhong++)
                {
                    for (int xiao = 0; xiao <= 200; xiao++)
                    {
                        if (2 * da + zhong + 0.5 * xiao == 100 && da + zhong + xiao == 100)
                        {
                            sum++;
                            Console.WriteLine("这是第" + sum + "种情况:大马" + da + "头,中马" + zhong + "头,小马" + xiao + "头。");
                        }
                    }
                }
            }
            Console.ReadLine();

// 16.纸张可以无限次对折,纸张厚度为0.07毫米。问多少次对折至少可以超过8848?利用while。

  int a = 7;
            int i = 1;
            while (true)
            {
                a *= 2;
                if (a >= 884800000)
                {
                    Console.WriteLine(i);
                    Console.WriteLine(a);
                    break;
                }
                i++;
            }
            Console.ReadLine();

// 17.兔子生兔子。除了第一个月之后的所有月份都可以直接执行。
    成兔=上个月的成兔加上上个月的小兔。小兔=上个月的幼兔。幼兔=上个月的成兔加上上个月的小兔(即这个月的成兔)
    利用for嵌套if。

 Console.Write("请输入月数:");
            int m = int.Parse(Console.ReadLine());
            int ct = 0;
            int xt = 0;
            int yt = 0;
            int zong = 0;
            if (m > 0)
            {
                for (int i = 1; i <= m; i++)
                {
                    if (i == 1)
                    {
                        ct = 0;
                        xt = 0;
                        yt = 1;
                    }
                    else
                    {
                        ct = ct + xt;
                        xt = yt;
                        yt = ct;
                    }
                }
                zong = ct + xt + yt;
                Console.WriteLine("总共有" + zong + "对兔子,有成兔" + ct + "对,小兔" + xt + "对,幼兔" + yt + "对。");
            }
            else
            {
                Console.WriteLine("您的输入有误!");
            }
            Console.ReadLine();

 //18.输入人数,输入每个人的成绩,需要最高分、最低分,去掉两个最高分,去掉两个最低分,求平均分。

 

 Console.Write("请输入班级人数:");
            int a = int.Parse(Console.ReadLine());
            double[] fen = new double[a];
            for (int i = 0; i < a; i++)
            {
                Console.Write("请输入第" + (i + 1) + "个人的成绩");
                fen[i] = double.Parse(Console.ReadLine());
            }

            double zhong;
            for (int i = 0; i < a; i++)
            {
                for (int j = i; j < a - 1; j++)
                {
                    if (fen[i] < fen[j + 1])
                    {
                        zhong = fen[i];
                        fen[i] = fen[j + 1];
                        fen[j + 1] = zhong;
                    }
                }
            }
            Console.WriteLine("最高分是" + fen[0]);
            Console.WriteLine("最低分是" + fen[a - 1]);
            double sum = 0;
            for (int i = 2; i < a - 2; i++)
            {
                sum += fen[i];
            }
            Console.WriteLine("平均分是" + sum / (a - 4));
                 

 

 

// 19.五个候选班长,20人投票。输入1-5来表示支持哪(个人)最后查看票数,看那个人胜出。
     不是1~5之内的数视为票作废。利用数组。

一、利用switch

Console.WriteLine("候选人为:1,张一;2,张二;3,张三;4,张四;5,张五");
            Console.WriteLine("请输入1-5来表示支持哪个人");
            int[] shuzu = new int[20];
            for (int i = 0; i < 20; i++)
            {
                Console.Write("请输入第" + (i + 1) + "个人的投票:");
                shuzu[i] = int.Parse(Console.ReadLine());
            }
            int[] a = new int[5];          
            int fei = 0;
            for (int i = 0; i < 20; i++)
            {
                switch (shuzu[i])
                {
                    case 1:
                        a[0]++;
                        break;
                    case 2:
                        a[1]++;
                        break;
                    case 3:
                        a[2]++;
                        break;
                    case 4:
                        a[3]++;
                        break;
                    case 5:
                        a[4]++;
                        break;
                    default:
                        fei++;
                        break;
                }
            }
            Console.WriteLine("张一:" + a[0]);
            Console.WriteLine("张二:" + a[1]);
            Console.WriteLine("张三:" + a[2]);
            Console.WriteLine("张四:" + a[3]);
            Console.WriteLine("张五:" + a[4]);
            Console.WriteLine("废票为:" + fei);
            if (a[0] > a[1] && a[0] > a[2] && a[0] > a[3] && a[0] > a[4])
            {
                Console.WriteLine("获胜者为张一;票数为" + a[0]);
            }
            if (a[1] > a[0] && a[1] > a[2] && a[1] > a[3] && a[1] > a[4])
            {
                Console.WriteLine("获胜者为张二;票数为" + a[1]);
            }
            if (a[2] > a[0] && a[2] > a[1] && a[2] > a[3] && a[2] > a[4])
            {
                Console.WriteLine("获胜者为张三;票数为" + a[2]);
            }
            if (a[3] > a[0] && a[3] > a[1] && a[3] > a[2] && a[3] > a[4])
            {
                Console.WriteLine("获胜者为张四;票数为" + a[3]);
            }
            if(a[4] > a[0] && a[4] > a[1] && a[4] > a[2] && a[4] > a[3])
            {
                Console.WriteLine("获胜者为张五;票数为" + a[4]);
            }
            Console.ReadLine();

二、利用if和for循环

 Console.WriteLine("候选人为:1,张一;2,张二;3,张三;4,张四;5,张五");
            Console.WriteLine("请输入1-5来表示支持哪个人");
            int[] shuzu = new int[20];
            for (int i = 0; i < 20; i++)
            {
                Console.Write("请输入第" + (i + 1) + "个人的投票:");
                shuzu[i] = int.Parse(Console.ReadLine());
            }
            int []a=new int[5];
            int fei=0;
            for (int i = 0; i < 20; i++)
            {
                if (shuzu[i] == 1)
                {
                    a[0]++;
                }
                else if (shuzu[i] == 2)
                {
                    a[1]++;
                }
                else if (shuzu[i] == 3)
                {
                    a[2]++;
                }
                else if (shuzu[i] == 4)
                {
                    a[3]++;
                }
                else if (shuzu[i] == 5)
                {
                    a[4]++;
                }
                else
                {
                    fei++;
                }
            }
            Console.WriteLine("张一:" + a[0]);
            Console.WriteLine("张二:" + a[1]);
            Console.WriteLine("张三:" + a[2]);
            Console.WriteLine("张四:" + a[3]);
            Console.WriteLine("张五:" + a[4]);
            Console.WriteLine("废票为:" + fei);
            if (a[0] > a[1] && a[0] > a[2] && a[0] > a[3] && a[0] > a[4])
            {
                Console.WriteLine("获胜者为张一;票数为" + a[0]);
            }
            else if (a[1] > a[0] && a[1] > a[2] && a[1] > a[3] && a[1] > a[4])
            {
                Console.WriteLine("获胜者为张二;票数为" + a[1]);
            }
            else if (a[2] > a[0] && a[2] > a[1] && a[2] > a[3] && a[2] > a[4])
            {
                Console.WriteLine("获胜者为张三;票数为" + a[2]);
            }
            else if (a[3] > a[0] && a[3] > a[1] && a[3] > a[2] && a[3] > a[4])
            {
                Console.WriteLine("获胜者为张四;票数为" + a[3]);
            }
            else //(a[4] > a[0] && a[4] > a[1] && a[4] > a[2] && a[4] > a[3])
            {
                Console.WriteLine("获胜者为张五;票数为" + a[4]);
            }
            Console.ReadLine();

 

//20.输入手机号码个数,根据手机号码个数创建数组。做抽奖活动。
        利用System.Threading.Thread.Sleep(3000);//程序暂停3秒

 Console.Write("请输入手机个数:");
            int n = int.Parse(Console.ReadLine());
            string[] shuzu = new string[n];
            for (int i = 0; i < n; i++)
            {
                Console.Write("这是第" + (i + 1) + "个号码:");
                shuzu[i] = Console.ReadLine();
            }
            Console.WriteLine("按回车键开始滚动!");
            Console.ReadLine();
            Random ran = new Random();
            for (int i = 0; i > -1; i++)
            {
                int aa = ran.Next(n);
                Console.Clear();
                Console.WriteLine(shuzu[aa]);
                System.Threading.Thread.Sleep(100);
                if (i == 30)
                {
                    Console.WriteLine("恭喜中奖号码为:" + shuzu[aa]);
                    break;
                }
            }
            Console.ReadLine();

 //21.邮箱格式  1.有且只有一个@   2.不能以@开头   3.@和  .  不能在一起   4.@后至少有一个 .    5.不能以 .  结尾。

            Console.Write("请输入你的邮箱账号:");
            string mail = Console.ReadLine();
            bool a = mail.Contains("@");
            if (a == true)
            {
                int b = mail.IndexOf("@");
                int c = mail.LastIndexOf("@");
                if (b == c)
                {
                    if (b != 0)
                    {
                        string mail1 = mail.Substring(b);
                        if (mail1.Contains("."))
                        {
                            int d = mail1.IndexOf(".");
                            if (d != 1)
                            {
                                int e = mail1.LastIndexOf(".");
                                if (e != mail1.Length - 1)
                                {
                                    Console.WriteLine("邮箱格式输入正确!");
                                }
                                else
                                {
                                    Console.WriteLine("输入有误!");
                                }
                            }
                            else
                            {
                                Console.WriteLine("输入有误!");
                            }
                        }
                        else
                        {
                            Console.WriteLine("输入有误!");
                        }
                    }
                    else
                    {
                        Console.WriteLine("输入有误!");
                    }
                }
                else
                {
                    Console.WriteLine("输入有误!");
                }
            }
            else
            {
                Console.WriteLine("输入有误!");
            }

 //22.随机出验证码,对照输入,判断是否正确

    string s = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
            Random ran = new Random();
            for (; ; )
            {
                string a = "";
                for (int i = 1; i <= 4; i++)
                {
                    a += s.Substring(ran.Next(s.Length), 1);
                }
                Console.WriteLine(a);

                Console.WriteLine("请输入验证码:");
                string b = Console.ReadLine();
                if (b.ToLower() == a.ToLower())
                {
                    Console.WriteLine("输入正确");
                    break;
                }
                else
                {
                    Console.Clear();
                    Console.WriteLine("输入错误");
                }
            }
            Console.ReadLine();

 

posted @ 2016-03-18 16:28  陌上初薰  阅读(243)  评论(0编辑  收藏  举报