2016 - 2024

感恩一路有你

C语言程序产生不重复随机数 C语言产生不重复的随机数?

浏览量:1872 时间:2021-03-13 02:41:28 作者:admin

C语言产生不重复的随机数?

c语言生成10个不重复的随机整数,并输出?

代码如下#include<stdio。H>int main(){Int a[10],I srand((unsigned)time(0))for(I=0,I<10 I){a[I]=random() 1}return 0}

保存生成的随机数,然后在获取新的随机数时将其与以前保存的值进行比较,如果出现则丢弃,并再次获得它,直到获得不同的随机值。

以获取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[i]=a

break]}]}

for(i=0 i< 10 i)//打印获得的随机数序列。

Printf(%D,”,list[i])

Printf(“n”)

return 0

C语言:如何产生不重复的随机数字?

1 c语言生成随机数函数。rand()的头文件是stdlib。H

2。在[M,n]范围内生成随机数的语句:rand()%(n-m1)M

3。生成不同随机数范围的方法:

保存获得的随机数。生成一个新的随机数后,将其与获得的随机数进行比较。如果存在,则丢弃它,否则保存它。

因此,我们可以得到不同随机数的函数,最小数为M,最大数为N,总数为K,可以写成:

void get uurand(int*a,int M,int N,int K)//结果存在于a{int i,J,t for(i=0,i< K){t=Rand()%(N-m1)M for(J=0,J< i,J) if(a[J]==t)break if(J==I)//不要重复a[I]=t//记录随机数。}}

C语言程序产生不重复随机数 C语言中随机数避免重复数字 c语言如何调用函数

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。