随机产生N个1到100的随机数,然后判断产生的随机数是否存在两个数组内,
a 数组的元素有{5,6,7,8,9}, b 数组的元素有{11,12,13,14,15},如果存在就从这个数组中删除这个元素,然后返回不再产生随机数。例如,我要产生5个随机数,如果到第三个数是11的话,就从b数组中删除11这个元素,然后输出(“随机数在B”),再跳出循环不再继续。
            求大神给出代码,帮我实现这个!, 是ASP.net  WEB开发,别用winform。
先谢过啦!!!!

解决方案 »

  1.   

    int[] num = {4,5,6,7};
                ArrayList arr = new ArrayList();
                arr.Add(5);
                arr.Add(10);
                arr.Add(8);            Random rd=new Random();            for(int i=0;i<5;i++)
                {
                    int getnum = rd.Next(0, num.Length-1);
                    if (arr.Contains(num[getnum]))
                    {
                        //num[getnum]存在
                        arr.Remove(num[getnum]);
                        break;
                    }
                }
      

  2.   

     int getnum = rd.Next(1,100); 
    这样不就好了。
    你看不懂代码的啊? 你是要随机1-100个数在A  B两个数组中匹配还是  随机A数组中的数字去匹配B
    代码已经写上了,变通不会啊?
      

  3.   

    ,  你说的我也试啦,, 要是随机1到100 , 这句话肯定报错,, 
    if (arr.Contains(num[getnum]))   ,,按你写的,我需要变通的太多啦, 可惜我还是新手呀,!!,难道我上面写的意思不够清楚吗?就是判断产生的随机数是否存在这两个数组中
      

  4.   


    List<int> a = new List<int>() {5,6,7,8,9};
                List<int> b = new List<int>() { 11,12,13,14,15};
                for (int i = 0; i < 5; i++)
                {
                    int num = new Random().Next(1, 100);
                    if (a.Contains(num))
                    {
                        a.Remove(num);
                        MessageBox.Show("在a里");
                        break;
                    }
                    if (b.Contains(num))
                    {
                        b.Remove(num);
                        MessageBox.Show("在b里");
                        break;
                    }
                }
      

  5.   

    我那是随机A数组里的数据!随机的是下标,肯定报错啊!List<int> a = new List<int>() {5,6,7,8,9};             List<int> b = new List<int>() { 11,12,13,14,15};             for (int i = 0; i < 5; i++)             {                 int num = new Random().Next(1, 100);                 if (a.Contains(num))                 {                     a.Remove(num);                     MessageBox.Show("在a里");                     break;                 }                 if (b.Contains(num))                 {                     b.Remove(num);                     MessageBox.Show("在b里");                     break;                 }             }这个可以