当前位置:首页 » 编程语言 » C语言连续生成不重复的随机数
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

C语言连续生成不重复的随机数

发布时间: 2023-03-08 23:02:11

c语言中生成一组各不相同的不重复的随机数

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
intmain()
{
int*a,n,i,j;
scanf("%d",&n);
a=(int*)calloc(n,sizeof(int));
srand(time(NULL));
for(i=0;i<n;i++)
{
loop:
a[i]=rand()%n+1;
for(j=0;j<i;j++)
if(a[i]==a[j])gotoloop;
}
for(i=0;i<n;i++)printf("%d",a[i]);
printf(" ");
free(a);
return0;
}

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

c语言生成1 - 100的不重复随机数?根据你的要求我已经将代码实现如下
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main(){
int a[10];
srand((unsigned)time(NULL));
for(int i=0;i<10;i++){
A: a[i]=rand()%99+1;
for(int j=0;j<i;j++){
a[i]=rand()%99+1;
if(a[i]==a[j])goto A;
else break;
}
}
for(int i=0;i<10;i++)
printf("%d ",a[i]);
}

❸ C语言结构编程中怎样能产生不重复的随机数

//让数不重复,而且每个数都有不好弄,但是如果是生成选手比赛顺序,我这种做法就可以了。你把选手的编号放在一个数组里面,然后从数组的第一个开始,把生成的随即数当成要交换的下标,随即交换后就打乱顺序了。
虽然产生的随机数可能一样,但是这样打乱顺序并不会把选手编号改变了。
例如,
int
tmp,num;
a[10]={1,2,3,4,5,6,7,8,9,10};
srand(time(NULL));
for(int
i=0;i<10;i++)
{
num=rand()%10;
tmp=a[i];
a[i]=a[num];
a[num]=tmp;
}

❹ c语言生成10个不重复的随机整数,并输出

#include<stdio.h>
#include<time.h>

#defineelemTypeint/*元素类型*/
#defineLEN100/*数组长度上限*/

/*生成n项min~max范围的随机数并存入数组randArr*/
voidrandomArray(elemTyperandArr[LEN],intn,elemTypemin,elemTypemax){
inti;
srand((unsigned)time(NULL));/*用时间做种,每次产生随机数不一样*/
for(i=0;i<n;i++)
randArr[i]=rand(NULL)%(max-min+1)+min;/*产生min~max的随机数*/
}

/*打印数组*/
voidprintArr(elemTypearr[],intlen){
inti;
for(i=0;i<len;i++)
printf("%d ",arr[i]);
putchar(' ');
}

intmain(void){
elemTypearr[LEN];
intlen=10;/*10个随机数*/

randomArray(arr,len,1,50);/*随机生成数组内容*/
printArr(arr,len);
putchar(' ');

getch();/*屏幕暂留*/
return0;
}

运行结果

❺ c语言如何产生随机不重复的数,我不重复不知道怎么写。怎样不重复

#include<stdio.h>
#include<stdlib.h>
#include<time.h>
main()
{inta[10],i,j,k;
srand(time(NULL));
for(i=0;i<10;i++){//采集10个随机数
a[i]=rand()%90+10;//随机数赋值
k=0;//重复个数清零
for(j=0;j<i;j++)//计算重复的个数
if(a[i]==a[j])k++;
if(k!=0)i--;//重复个数不为0,就是有重复的
}//重新产生这个随机数
for(i=0;i<10;i++)
printf("%4d",a[i]);
}

如图所示,rand产生不了不重复的随机数,所以方法就是把产生的重复的去掉。我这里举个例子,按照这个思路,插入到你的程序里就行了。

望采纳。。。。。。