在C语言中,要生成不重复的随机数可以使用数组来存储已经生成的随机数,每次生成新的随机数时先检查数组中是否已经存在该随机数,如果存在则重新生成,直到生成一个不重复的随机数为止
在C语言中,要生成不重复的随机数可以使用数组来存储已经生成的随机数,每次生成新的随机数时先检查数组中是否已经存在该随机数,如果存在则重新生成,直到生成一个不重复的随机数为止。具体步骤如下:
- 创建一个数组来存储已经生成的随机数,数组大小为需要生成的不重复随机数的总个数。
- 使用rand()函数生成随机数,并与数组中的元素进行比较,如果存在则重新生成,直到生成一个不重复的随机数。
- 将生成的不重复随机数存储到数组中。
- 重复上述步骤直到生成所有不重复的随机数。
以下是一个简单的示例代码:
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
#defineNUM_RANDOM10
intmain(){
intrandomArray[NUM_RANDOM];
inti,j,r;
srand(time(NULL));
for(i=0;i<NUM_RANDOM;i++){
do{
r=rand()%100;//生成0-99之间的随机数
for(j=0;j<i;j++){
if(r==randomArray[j]){
break;
}
}
}while(j<i);//如果重复则重新生成
randomArray[i]=r;
printf("%d",r);
}
return0;
}
在这个示例中,我们生成了10个不重复的随机数并输出到屏幕上。请注意,在实际应用中,可以根据需要修改随机数的范围和个数。
版权声明
本文仅代表作者观点,不代表博信信息网立场。