资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

不重复随机数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://cdkjz.cn/article/doioepp.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220