在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
來存儲已經生成的隨機數,然后在每次生成隨機數時循環檢查新生成的隨機數是否已經存在于數組中。如果存在則重復生成,直到生成的隨機數不重復為止。