c语言随机数生成算法 C语言:如何产生不重复的随机数字?
浏览量:2553
时间:2021-03-16 15:03:07
作者:admin
C语言:如何产生不重复的随机数字?
将已经产生的随机数保存下来,然后在获取到新的随机数时,与之前保存下来的值进行对比,如果已经出现过则抛弃,并再次获取,直到获取到不同的随机值为止。
以获取10个0~100之间的不重复随机数为例,代码如下:
#include
#include
#include
int main()
{
int list[10], i,j, a
srand(time(null))//设置随机数种子。
for(i = 0 i < 10 i )
{
while(1)
{
a = rand()0 //获取一个0~100之间的随机数。
for(j = 0 j < i j )
if(list[j] == a) break//检查重复。
if(j == i)//没有重复值,保存到list中。
{
list[i] = a
break
}
}
}
for(i = 0 i < 10 i )//打印获取到的随机数序列。
printf("%d,",list[i])
printf("n")
return 0
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。