c语言不是每次都重复随机数。
用一个数组装随机数,一个数组代表记录的随机数;
例如,random 0-8生成一个随机的8位数组,数组中的项不重复;
示例:
IntarrayC语言生成不重复的随机数。 #includeiostream.h
#includecstdlib
# includectime
void main()
{
int i,j,a[10];
srand(time(0));
for(I = 0;i10我)
{
a[i]=rand();
int flag = 1;
While(flag==1)//您仍然可以在这里生成重复的数字。这里要确保生成的数字没有重复,只要有重复,就会随机生成新的数字。
{
for(j = 0;纪;j)
if(a[i]==a[j])
打破;
如果(冀)
a[i]=rand();
如果(j==i)
flag = 0;
};
}
for(I = 0;i10我)
couta[I]endl;
}
就这些,供大家参考。如果你满意,请接受它。
c语言程序生成不重复的随机数 #includeiostream
#includetime.h
#includestdlib.h
使用命名空间std
int main()
{
int i,j;
int n[10];//生成10个随机数
int n1 = 100//100个随机数
int n2 = 51//从50开始
//n[0]= rand()% n1 N2;//生成一个50-150的随机数
srand((无符号)时间(空));
for(I = 0;i10我)
{
n[I]= rand()% n1 N2;
While(1) //判断是否重复。
{
for(j = 0;纪;j)
{
if(n[i]==n[j])
{
n[I]= rand()% n1 N2;
j = 0;
打破;
}
}
If(j==i)//新的随机数不复制以前的随机数。
打破;
}
printf("%d\n ",n[I]);//生成一个50到150之间的随机数。
}
返回0;
}
//你发的程序里东西太多,不知道你什么意思。我唯一理解的是你的要求。我编了一个程序,可以生成不重复的随机数,但是不知道有没有系统函数可以做到这一点。很明显程序把n1改成10就满足要求了。
最后更新于 2023-10-07 14:01:22 并被添加「」标签,已有 位童鞋阅读过。
本站使用「署名 4.0 国际」创作共享协议,可自由转载、引用,但需署名作者且注明文章出处
相关文章