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就满足要求了。

相关文章

发表新评论