C#如何实现,在20个数字中随机选出5个出来

时间:2022-08-30 18:13:03
比如:在1-20这20个号码中,任意随机的取出5个出来
请问这个怎么实现呢
谢谢,实在很感谢

13 个解决方案

#1


用Random 
随机数产生

#2


但是random只能一次取出一个啊,我想同时取出5个,而且不能相同

#3


Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
int i = rdm1.Next(1, 20);
做5次

#4


Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
int i = rdm1.Next(1, 20);int i1 = rdm1.Next(1, 20);int i2 = rdm1.Next(1, 20);int i3 = rdm1.Next(1, 20);int i4 = rdm1.Next(1, 20);

#5


Random randObj = new Random();

for (int j = 0; j < 5; j++)
    Console.Write("{0,2} ", randObj.Next(1, 20));
Console.WriteLine();

#6


这个20个号码放入到一个20长度的数组中,然后Randome()五次出来,每一次将刚才取出来的数据,从原数组中删除,这样可以做到不重复的取出来5个随机号码出来

#7


Random.Next(1, 20)

得到的数字放到数组中,重复得到随机,查看数组中是否有重复,没有添加。有则重新得随机

#8


up

#9


lz是要买彩票吗??

#10


把20个随机数生成好,放到容器(数组?),
然后随机生成5个数,根据定义的规则匹配到生成好的20个数中,即:
如生成了5个数:
2,8,3,4,19那么就依次取20个数中的第2,8,3,4,19个出来就可以了。

#11


Random myRan=New Random();
for(int i=0;i<5;i++)
{
Console.WriteLine("{0}",myRan.Next(1,20));
}

#12


把New改成new 呵呵 直接可以运行

#13


//存数据
ArrayList myAL = new ArrayList();
Random rd = new Random();  
for (int i = 0; i < 5; i++) 

    while (true) 
   { 
int temp = rd.Next(1,20); 
if (!myAL.Contains(temp)) 
   { 
      myAL.Add(temp); 
      break; 
   } 
   } 


//取数据
string myStr = "";
System.Collections.IEnumerator myEnumerator = myAL.GetEnumerator();
while ( myEnumerator.MoveNext() )
   {
      myStr+=myEnumerator.Current.ToString()+"\n";
   }
label1.Text =myStr;

#1


用Random 
随机数产生

#2


但是random只能一次取出一个啊,我想同时取出5个,而且不能相同

#3


Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
int i = rdm1.Next(1, 20);
做5次

#4


Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
int i = rdm1.Next(1, 20);int i1 = rdm1.Next(1, 20);int i2 = rdm1.Next(1, 20);int i3 = rdm1.Next(1, 20);int i4 = rdm1.Next(1, 20);

#5


Random randObj = new Random();

for (int j = 0; j < 5; j++)
    Console.Write("{0,2} ", randObj.Next(1, 20));
Console.WriteLine();

#6


这个20个号码放入到一个20长度的数组中,然后Randome()五次出来,每一次将刚才取出来的数据,从原数组中删除,这样可以做到不重复的取出来5个随机号码出来

#7


Random.Next(1, 20)

得到的数字放到数组中,重复得到随机,查看数组中是否有重复,没有添加。有则重新得随机

#8


up

#9


lz是要买彩票吗??

#10


把20个随机数生成好,放到容器(数组?),
然后随机生成5个数,根据定义的规则匹配到生成好的20个数中,即:
如生成了5个数:
2,8,3,4,19那么就依次取20个数中的第2,8,3,4,19个出来就可以了。

#11


Random myRan=New Random();
for(int i=0;i<5;i++)
{
Console.WriteLine("{0}",myRan.Next(1,20));
}

#12


把New改成new 呵呵 直接可以运行

#13


//存数据
ArrayList myAL = new ArrayList();
Random rd = new Random();  
for (int i = 0; i < 5; i++) 

    while (true) 
   { 
int temp = rd.Next(1,20); 
if (!myAL.Contains(temp)) 
   { 
      myAL.Add(temp); 
      break; 
   } 
   } 


//取数据
string myStr = "";
System.Collections.IEnumerator myEnumerator = myAL.GetEnumerator();
while ( myEnumerator.MoveNext() )
   {
      myStr+=myEnumerator.Current.ToString()+"\n";
   }
label1.Text =myStr;