返回首页DA系统C#IDE文件同步服务屏保 今天是: 2026-05-05    "立夏"  夏季的第一个节气,表示盛夏时节的正式开始

搜索
热搜: linux 技术
Hi~登录注册
查看: 1922|回复: 0

[原创] 【原创】数组进阶习题:彩票生成器

[复制链接]
发表于 2020-12-6 01:16:38 | 显示全部楼层 |阅读模式

少侠不来段修仙之旅吗~

您需要 登录 才可以下载或查看,没有帐号?注册成为修仙之旅的少年~

x
本帖最后由 da11 于 2020-12-12 23:27 编辑

       //数组进阶习题主Main:彩票生成器

        private static void Main()
        {
            while (true)
            {

            int[] InputCPSz =InputCP();

            int[] CP = GetCP();
            foreach (var item in CP)
            {
                Console.WriteLine(item);
            }

            Console.ReadLine();
            PdZhongJiangDengJi(InputCPSz,CP);
            }
        }



        //用户输入彩票的方法
        private static int[] InputCP()
        {
            int[] InputCpSz = new int[7];
            for (int i = 0; i < 6; i++)
            {
                Console.WriteLine("请输入第{0}个红色彩票号码", i);

                int InPutpd1 = int.Parse(Console.ReadLine());
                if (i > 0)
                {   
                    //使用数组的判断是否存在而判断是否输入数值重复,如有存在会返回索引,所以只要if写大于0就等于有存在。
                    int InPutpd3 = Array.IndexOf(InputCpSz, InPutpd1);
                    if (InPutpd3 >= 0 )
                    {
                        Console.WriteLine("红色彩票号码输入不合法,请重新输入");
                        i -= 1;
                        continue;
                    }
                }
                if (InPutpd1 < 0 || InPutpd1 > 33)
                {
                    Console.WriteLine("红色彩票号码输入不合法,请重新输入");
                    i -= 1;
                    continue;
                }
                InputCpSz = InPutpd1;
            }
            while (true)
            {
                Console.WriteLine("请输入蓝色彩票号码");
                int InPutpd2 = int.Parse(Console.ReadLine());
                if (InPutpd2 < 0 || InPutpd2 > 16)
                {
                    Console.WriteLine("蓝色彩票号码输入不合法,请重新输入");
                    continue;
                }
                InputCpSz[6] = InPutpd2;
                Console.WriteLine("请确认以下信息是否正确");
                foreach (var item in InputCpSz)
                {
                    Console.WriteLine(item);
                }
                Console.ReadLine();
                return InputCpSz;
            }

        }




        //彩票生成方法
        private static int[] GetCP()
        {
            int[] RedBool = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33};
            int[] BlueBool = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
            int[] done = new int[7];
            Random DyRedBoolSJ = new Random();
            Random DyblueBoolSJ = new Random();

            for (int i = 0; i < done.Length-1; i++)
                        {
                int RedBoolPd1 = RedBool[DyRedBoolSJ.Next(0, 32)];
                if (i>0)
                {
                    int RedBoolPd3 = Array.IndexOf(done, RedBoolPd1);
                    if (RedBoolPd3 >= 0)
                    {
                        i = i - 1;
                        continue;
                    }
                }
                            done = RedBoolPd1;
                        }
            Array.Sort(done,0,6);
            done[6] = BlueBool[DyblueBoolSJ.Next(0,15)];

            return done;
        }





        //中奖判定方法
        private static void PdZhongJiangDengJi(int[] InputSz,int[] RadomSz)
        {
            int[] ZhongJiangQiu = new int[7];
            int[] RedZhongJiangQiu = new int[6];
            int RedZhongJiangNum=0;
            int blueZhongJiangNum = 0;
            Array.Copy(RadomSz, RedZhongJiangQiu, 6);

            for (int i = 0; i < 6; i++)
            {
                int pd1 = Array.IndexOf(InputSz,RedZhongJiangQiu);

                if (pd1 >=0 )
                {
                    RedZhongJiangNum += 1;
                    continue;
                }

            }
            if (RadomSz[6] == InputSz[6])
            {
                blueZhongJiangNum = 1;
            }
            Console.WriteLine(RedZhongJiangNum);
            Console.WriteLine(blueZhongJiangNum);
            if (blueZhongJiangNum==1 && RedZhongJiangNum==2 )
            {
                Console.WriteLine("六等奖");
            }
            else if ((blueZhongJiangNum == 1 && RedZhongJiangNum == 1) || blueZhongJiangNum == 1)
            {
                Console.WriteLine("六等奖");
            }
            else if ((blueZhongJiangNum == 1 && RedZhongJiangNum == 3) || RedZhongJiangNum == 4)
            {
                Console.WriteLine("五等奖");
            }
            else if ((blueZhongJiangNum == 1 && RedZhongJiangNum == 4) || RedZhongJiangNum == 5)
            {
                Console.WriteLine("四等奖");
            }
            else if (blueZhongJiangNum == 1 && RedZhongJiangNum == 5)
            {
                Console.WriteLine("三等奖");
            }
            else if (RedZhongJiangNum == 6)
            {
                Console.WriteLine("二等奖");
            }
            else if (blueZhongJiangNum == 1 && RedZhongJiangNum == 6)
            {
                Console.WriteLine("一等奖");
            }
            else
            {
                Console.WriteLine("抱歉没有中奖");
            }

            Console.ReadLine();

        }


 楼主| 发表于 2020-12-6 01:17:44 | 显示全部楼层
发帖越来越懒了233
回复 支持 反对

使用道具 举报

游客
回复
*滑块验证:

DA论坛飞机票来了~
快速回复 返回顶部 返回列表