日期:2014-05-17  浏览次数:20416 次

关于数组和随机数的简单问题,却难倒了sp1234
随机产生N个1到100的随机数,然后判断产生的随机数是否存在两个数组内,
a 数组的元素有{5,6,7,8,9}, b 数组的元素有{11,12,13,14,15},如果存在就从这个数组中删除这个元素,然后返回不再产生随机数。例如,我要产生5个随机数,如果到第三个数是11的话,就从b数组中删除11这个元素,然后输出(“随机数在B”),再跳出循环不再继续。


            求大神给出代码,帮我实现这个!, 是ASP.net  WEB开发,别用winform。
先谢过啦!!!!
------解决方案--------------------
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;
                }
            }

------解决方案--------------------
循环嵌套,再break;
------解决方案--------------------
猥琐的头像。。。。。
------解决方案--------------------

------解决方案--------------------
引用:
怎么回帖的人这么少呢,, 难道都被圣诞老人带去火星啦!。。。。。。。

哪有?我没带他们
------解决方案--------------------
 int getnum = rd.Next(1,100); 


这样不就好了。。。。
你看不懂代码的啊? 

你是要随机1-100个数在A  B两个数组中匹配还是  随机A数组中的数字去匹配B


代码已经写上了,变通不会啊?
------解决方案--------------------

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))