首先是生成1-35 这个35个数字 而后随机分成7组 每组包含5个数但每个数不能重复 比如第一组里有1这个数 那剩下的6组 包括第一组的另外4个数 只能在2-35里面随机组成

问题描述:

首先是生成1-35 这个35个数字 而后随机分成7组 每组包含5个数
但每个数不能重复 比如第一组里有1这个数 那剩下的6组 包括第一组的另外4个数 只能在2-35里面随机组成

static void Main(string[] args)
        {
            //   首先是生成1-35 这个35个数字 而后随机分成7组 每组包含5个数
            //但每个数不能重复 比如第一组里有1这个数 那剩下的6组 包括第一组的另外4个数 只能在2-35里面随机组成

            //首先生成35个数字
            List<int> dataSource = new List<int>();
            for (int i = 1; i <= 35; i++)
                dataSource.Add(i);
            //开始随即分组,外侧循环7次,分为7组
            List<List<int>> groups = new List<List<int>>();
            for (int i = 0; i < 7; i++)
            {
                //内侧循环5次,每组生成5个数字
                List<int> lst = new List<int>();
                Console.WriteLine("第{0}个分组的数字为:", i + 1);
                for (int j = 0; j < 5; j++)
                {
                    //随即取数字,根据dataSource的长度来随即一个索引,利用这个索引取出dataSource中的数字假如分组中,然后将这个数字从dataSource中移除
                    int index = new Random().Next(dataSource.Count);
                    int number = dataSource[index];

                    lst.Add(number);
                    dataSource.RemoveAt(index);

                    Console.Write(number + ",");
                }
                groups.Add(lst);//groups存放最后生成的7个分组
                Console.WriteLine();
            }
            Console.Read();
        }