不重复随机数c语言函数 c语言生成不重复的随机整数-成都创新互联网站建设

关于创新互联

多方位宣传企业产品与服务 突出企业形象

公司简介 公司的服务 荣誉资质 新闻动态 联系我们

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

C语言如何用rand函数产生4个不重复的随机数啊?

可以将生成的随机数放入数组中,每次遍历数组,有相同的重新生成随机数。知道生成4个即退出循环。

网页设计是网站建设的前奏,好的网页设计更深度的剖析产品和设计风格定位,结合最新的网页设计流行趋势,与WVI应用标准,设计出具企业表现力,大器而深稳的网站界面设。成都创新互联成立于2013年,是成都网站建设公司:提供企业网站设计,品牌网站设计,营销型企业网站建设方案,响应式网站设计,微信平台小程序开发,专业建站公司做网站。

#include stdio.h

#include stdlib.h

#include time.h

int main()

{

int num[4], cnt = 0, n;

srand(clock());  // 设置随机数种子

while (cnt  4)

{

n = rand() % 4; // 生成4以内随机数,这样更利于测试

for (int i = 0; i  cnt; i++)

if (num[i] == n) // 遍历数组,有相同的重新生成随机数

continue;

num[cnt++] = n;

}

for (int i = 0; i  cnt; i++) // 打印随机数数组

printf("%d ", num[i]);

return 0;

}

如何用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语言如何产生不重复的随机数

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

比如说随机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语言程序产生不重复随机数

#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语言函数 c语言生成不重复的随机整数
本文路径:http://kswsj.cn/article/doioepp.html

其他资讯