我想实现的功能如下:
有1到5000 这5000个数字
我第一次随机抽出30个不同的数字
第二次随机抽出10个不同的数字(不能含有第一次抽中的数字)
第二次随机抽出5个不同的数字(不能含有前两次抽中的数字)哪位大哥有这样的程序,能否发我一份
邮箱: [email protected]
谢谢

解决方案 »

  1.   


    using System;
    using System.Collections.Generic;
    using System.Text;namespace ConsoleApplication1
    {
        class Program
        {
            static void Main(string[] args)
            {
                List<List<int>> TValues = new List<List<int>>();
                List<int> TFirst = GetValue(30, null);//获得30个随机数泛型集合
                TValues.Add(TFirst);
                List<int> TSecond = GetValue(10, TValues);//获得10个随机数泛型集合
                TValues.Add(TSecond);
                List<int> TThird = GetValue(5, TValues);//获得5个随机数泛型集合            Console.WriteLine("30个数:" + GetString(TFirst));
                Console.WriteLine("10个数:" + GetString(TSecond));
                Console.WriteLine("5个数:" + GetString(TThird));
            }        private static List<int> GetValue(int count, List<List<int>> TValues)
            {
                List<int> TValue = new List<int>();
                Random random = new Random();
                int i = 0;
                int value = 0;
                while (i < count)
                {
                    bool bExist = false;
                    value = random.Next(1, 5001);
                    if (TValues != null)
                    {
                        foreach (List<int> Ttmp in TValues)
                        {
                            if (Ttmp.Contains(value))
                            {
                                bExist = true;
                                break;
                            }
                        }
                    }
                    if (!bExist)
                    {
                        if (!TValue.Contains(value))
                        {
                            TValue.Add(value);
                            i++;
                        }
                    }
                }
                return TValue;
            }        private static string GetString(List<int> T)
            {
                string back = "";
                foreach (int value in T)
                {
                    if (back == "")
                        back = value.ToString();
                    else
                        back += "," + value.ToString();
                }
                return back;
            }
        }
    }
      

  2.   

    CSDN告诉我
    每天回帖即可获得10分可用分!
      

  3.   

    楼上的有代码了哈。。[align=center]****************************************************************
                看帖一定要回的,分也一定要接的。^_^
    ****************************************************************[/align]
      

  4.   

    public int getNum(int[] arrNum,int tmp,int minValue,int maxValue,Random ra){
                int n=0;
              while (n<=arrNum.Length-1)
                { 
               if (arrNum[n]==tmp) 
                {
                tmp=ra.Next(minValue,maxValue);
                  getNum(arrNum,tmp,minValue,maxValue,ra);           
                 }
                n++;
                }
                return tmp;
                }参考
      

  5.   

    using System;
    class a
    {
        public struct infomation
        {
            public const string name = "";
            public const string contry = "china";
        } 
    }
    class b
    {
        static void Main()
        {
            a aa = new a();
            Console.WriteLine("name:{0}    contry:{1}",a.infomation.name,a.infomation.contry);
            Console.ReadLine();
        }
    }