在C语言中,要生成不重复的随机数可以使用数组来存储已经生成的随机数,每次生成新的随机数时先检查数组中是否已经存在该随机数,如果存在则重新生成,直到生成一个不重复的随机数为止。具体步骤如下:
- 创建一个数组来存储已经生成的随机数,数组大小为需要生成的不重复随机数的总个数。
- 使用rand()函数生成随机数,并与数组中的元素进行比较,如果存在则重新生成,直到生成一个不重复的随机数。
- 将生成的不重复随机数存储到数组中。
- 重复上述步骤直到生成所有不重复的随机数。
以下是一个简单的示例代码:
#include#include #include #define NUM_RANDOM 10 int main() { int randomArray[NUM_RANDOM]; int i, 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); } return 0; }
在这个示例中,我们生成了10个不重复的随机数并输出到屏幕上。请注意,在实际应用中,可以根据需要修改随机数的范围和个数。