c语言随机生成如何避免重复

avatar
作者
筋斗云
阅读量:0

在C语言中,可以通过使用数组来存储已经生成的随机数,然后在生成随机数时检查新生成的随机数是否已经存在于数组中,如果存在则重新生成随机数,直到生成的随机数不重复为止。

以下是一个示例代码:

#include <stdio.h> #include <stdlib.h> #include <time.h>  #define MAX_NUM 10  int main() {     int random_nums[MAX_NUM];     int num_generated = 0;      srand(time(NULL));      while (num_generated < MAX_NUM) {         int random_num = rand() % 100 + 1;         int is_duplicate = 0;          for (int i = 0; i < num_generated; i++) {             if (random_num == random_nums[i]) {                 is_duplicate = 1;                 break;             }         }          if (!is_duplicate) {             random_nums[num_generated] = random_num;             num_generated++;         }     }      printf("Generated random numbers:\n");     for (int i = 0; i < MAX_NUM; i++) {         printf("%d\n", random_nums[i]);     }      return 0; } 

在这个示例代码中,我们使用一个数组random_nums来存储已经生成的随机数,然后在每次生成随机数时循环检查新生成的随机数是否已经存在于数组中。如果存在则重复生成,直到生成的随机数不重复为止。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!