在vb中怎么随机产生不重复的数字
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在vb中怎么随机产生不重复的数字相关的知识,希望对你有一定的参考价值。
产生不重复的,需要在程序里保存一个已经生成的数字列表。每次随机生成的时候就在之中搜索有无同样的,如果有,就重新生成。例:
假如要生成5个数字,则
include
<time.h>
include
<stdlib.h>
int
numgen[5]
=
0,
0,
0,
0,
0;
int
index
=
0;
bool
isgenerated(int
newnum)
for(int
i=0;
i<index;
i++)
if(numgen[i]
=
newnum)
return
true;
return
false;
void
main()
srand((unsigned)time(null));
int
newnum
=
rand();
for(index
=
0;
index
<
5;
index++)
while(!isgenerated(newnum))
newnum
=
rand();
numgen[index]
=
newnum;
参考技术A Rnd()是随机的,但不能保证不重复吧。不过一般应用也够了。在前面加上一个Randomize()
如果非要不重复的。有一个笨办法,可以用一个数组记录下已经产生的数,下次出数的时候跟数组内的内容进行比对,如果重复再重新产生一个随机数。
JAVA中怎么随机产生一个不重复的四位数
//题主估计想问产生一个四个不同数字的四位数////首先千位不为0
String number=String.valueOf((int)(Math.random()*9+1));
//再产生其它三位数
for(int i=0;i<=2;)
String newnumber=String.valueOf((int)(Math.random()*9));
if(!number.contains(newnumber))
number=number+newnumber;
i++;
System.out.println(number); 参考技术A (int)((Math.random()*9+1)*1000)随机四位数
类似的后面1000的位数增加到几位就是随机几位数 参考技术B (int)((Math.random()*9+1)*1000)
以上是关于在vb中怎么随机产生不重复的数字的主要内容,如果未能解决你的问题,请参考以下文章