c语言不重复随机数函数 c生成随机数不重复

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

#includeiostream

我们一直强调成都网站建设、做网站对于企业的重要性,如果您也觉得重要,那么就需要我们慎重对待,选择一个安全靠谱的网站建设公司,企业网站我们建议是要么不做,要么就做好,让网站能真正成为企业发展过程中的有力推手。专业网站建设公司不一定是大公司,创新互联公司作为专业的网络公司选择我们就是放心。

#includetime.h

#includestdlib.h

using namespace 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((unsigned)time(NULL));

for(i=0;i10;i++)

{

n[i]=rand()%n1+n2;

while(1) //判断是否重复

{

for(j=0;ji;j++)

{

if(n[i]==n[j])

{

n[i]=rand()%n1+n2;

j=0;

break;

}

}

if(j==i)//新随机数与前面几个随机数都不重复

break;

}

printf("%d\n",n[i]);//产生从50-150的随机数

}

return 0;

}

//你发的程序少太多东西也不清楚你要表达什么意思,唯一理解的是你提出的要求,我编了一个程序可以产生不重复随机数但是不知道有没有系统函数可以这样做,把n1改成10很明显可以看见程序是符合要求的

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

用一个数组装随机数,一个数组表示已经记录过的随机数;

比如说随机0-8,生成一个随机8位数组且数组内各项不重复;

例:

intarray[8];

intarrayIndex[8]={0,0,0,0,0,0,0,0};

intk=0;

srand(100);

while(k8){

intq=rand()%8+1;

if(arrayIndex[q-1]==1){

continue;

}

array[k]=q;

arrayIndex[q-1]=1;

k++;

}

扩展资料

C语言随机输出1~20不重复的随机数

#includestdio.h

#includestdlib.h

#includetime.h

voidmain()

{

inta[20];

inti,j;

srand((int)time(0));

a[0]=rand()%20+1;

for(i=1;i20;i++)

{

a[i]=rand()%20+1;

for(j=0;ji;j++)

{

if(a[i]==a[j])

{

i--;

}

}

}

for(i=0;i20;i++)

{

printf("%3dn",a[i]);

}

}

如何用C语言产生不重复的0到9之间的随机数

下面是用C产生0-9的随机数,rand()函数产生的是伪随机数,反复调用函数rand所产生的一系列数似乎是随机的,但每次执行程序所产生的序列则是重复的。需要用srand()函数每次给不一样的种子

#include

stdlib.h

//标准工具库,要用到其中的rand()

#include

stdio.h

#includeconio.h

#include

time.h

//时间库,要用到里面的时间来做随机数的种子

int

main(void)

{

int

i;

srand(time(NULL));

printf("Ten

random

numbers

from

to

9\n\n");

for(i=0;

i10;

i++)

printf("%d\n",

rand()%10);

getch();

return

0;

}

c语言生成1 - 100的不重复随机数

#includestdio.h

#includetime.h

#includestdlib.h

int Rand(int X,int Y)//生成随机数

{

int temp;

if(XY)

{

temp=X;

X=Y;

Y=temp;

}

return rand()%(Y-X+1)+X; 

}

void main()

{

int arr[100];

int i;

int r;

int temp;

srand((unsigned)time(NULL));

for(i=0;i100;i++) arr[i]=i+1;//将数组赋值1~100

for(i=0;i100;i++)

{

r=Rand(0,99);

temp=arr[i];

arr[i]=arr[r];

arr[r]=temp;

}//数组乱序

for(i=1;i=100;i++)

{

printf("%3d ",arr[i-1]);

if(i%10==0)

printf("\n");

}

}


分享名称:c语言不重复随机数函数 c生成随机数不重复
文章路径:http://ybzwz.com/article/dojphpc.html