c语言生成10个1~100随机数 C语言产生不重复的随机数?
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个随机数并排序
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。