2016 - 2024

感恩一路有你

c语言生成10个1~100随机数 C语言产生不重复的随机数?

浏览量:1687 时间:2021-03-13 21:10:37 作者:admin

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

用一个数字组合一个随机数,一个数组代表记录的随机数;例如,random 0-8生成一个随机的8位组,数组中的每个项都不重复;例如:intray[8]intraryindex[8]={0,0,0,0,0,0}intk=0srand(100),而(K<8){intq=rand()%8 1If(arrayindex[Q-1]==1){continue}数组[k]=qarrayindex[Q-1]=1K}展开数据C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言C语言随机输出1~20个不重复的随机数,包括<stddio。H>;包括<time。H>和include<ime。H>;包括<time。H>;包括<;t-test-test-test-lead<.H.H<.H<时间。H>时间。时间(&G)。H>>;H>;H<;H&T时间。H>;H>;H&T时间。H>;H>;H>;H>;H>;H>;H>;H>;H>;H<;全部。H、 H&T;H;H>;all a

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

以获取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”)

返回0

}

代码如下#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}

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语言生成10个1~100随机数 c语言如何调用函数 c语言产生10个随机数并排序

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