c语言

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

小樊
98
2024-08-05 11:21:12
栏目: 编程语言

在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来存储已经生成的随机数,然后在每次生成随机数时循环检查新生成的随机数是否已经存在于数组中。如果存在则重复生成,直到生成的随机数不重复为止。

0
看了该问题的人还看了