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;
}
//c语言随机数函数不重复你发的程序少太多东西也不清楚你要表达什么意思c语言随机数函数不重复,唯一理解的是你提出的要求,我编了一个程序可以产生不重复随机数但是不知道有没有系统函数可以这样做 , 把n1改成10很明显可以看见程序是符合要求的
如何用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语言如何产生不重复的随机数用一个数组装随机数c语言随机数函数不重复,一个数组表示已经记录过的随机数;
比如说随机0-8,生成一个随机8位数组且数组内各项不重复;
例c语言随机数函数不重复:
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语言随机数函数不重复 c语言随机生成不重复的数字】c语言随机数函数不重复的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于c语言随机生成不重复的数字、c语言随机数函数不重复的信息别忘了在本站进行查找喔 。

    推荐阅读