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

sys0i 2007-07-08 04:36:57
比如:在1-20这20个号码中,任意随机的取出5个出来
请问这个怎么实现呢
谢谢,实在很感谢
...全文
1224 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sqllong 2007-07-09
  • 打赏
  • 举报
回复
//存数据
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;
treesky 2007-07-09
  • 打赏
  • 举报
回复
把New改成new 呵呵 直接可以运行
treesky 2007-07-09
  • 打赏
  • 举报
回复
Random myRan=New Random();
for(int i=0;i<5;i++)
{
Console.WriteLine("{0}",myRan.Next(1,20));
}
苏陌Bubble 2007-07-09
  • 打赏
  • 举报
回复
把20个随机数生成好,放到容器(数组?),
然后随机生成5个数,根据定义的规则匹配到生成好的20个数中,即:
如生成了5个数:
2,8,3,4,19那么就依次取20个数中的第2,8,3,4,19个出来就可以了。
wzq6511 2007-07-09
  • 打赏
  • 举报
回复
lz是要买彩票吗??
boboge2008 2007-07-09
  • 打赏
  • 举报
回复
up
linyu0423 2007-07-09
  • 打赏
  • 举报
回复
Random.Next(1, 20)

得到的数字放到数组中,重复得到随机,查看数组中是否有重复,没有添加。有则重新得随机
Fibona 2007-07-08
  • 打赏
  • 举报
回复
这个20个号码放入到一个20长度的数组中,然后Randome()五次出来,每一次将刚才取出来的数据,从原数组中删除,这样可以做到不重复的取出来5个随机号码出来
jobine 2007-07-08
  • 打赏
  • 举报
回复
Random randObj = new Random();

for (int j = 0; j < 5; j++)
Console.Write("{0,2} ", randObj.Next(1, 20));
Console.WriteLine();
Avoid 2007-07-08
  • 打赏
  • 举报
回复
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);

Avoid 2007-07-08
  • 打赏
  • 举报
回复
Random rdm1 = new Random(unchecked((int)DateTime.Now.Ticks));
int i = rdm1.Next(1, 20);
做5次
sys0i 2007-07-08
  • 打赏
  • 举报
回复
但是random只能一次取出一个啊,我想同时取出5个,而且不能相同
zhengshaodong 2007-07-08
  • 打赏
  • 举报
回复
用Random
随机数产生

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧