学堂 学堂 学堂公众号手机端

在C语言中,要生成不重复的随机数可以使用数组来存储已经生成的随机数,每次生成新的随机数时先检查数组中是否已经存在该随机数,如果存在则重新生成,直到生成一个不重复的随机数为止

lewis 1年前 (2024-02-10) 阅读数 5 #技术

在C语言中,要生成不重复的随机数可以使用数组来存储已经生成的随机数,每次生成新的随机数时先检查数组中是否已经存在该随机数,如果存在则重新生成,直到生成一个不重复的随机数为止。具体步骤如下:

  1. 创建一个数组来存储已经生成的随机数,数组大小为需要生成的不重复随机数的总个数。
  2. 使用rand()函数生成随机数,并与数组中的元素进行比较,如果存在则重新生成,直到生成一个不重复的随机数。
  3. 将生成的不重复随机数存储到数组中。
  4. 重复上述步骤直到生成所有不重复的随机数。

以下是一个简单的示例代码:

#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个不重复的随机数并输出到屏幕上。请注意,在实际应用中,可以根据需要修改随机数的范围和个数。


版权声明

本文仅代表作者观点,不代表博信信息网立场。

热门