c语言怎么产生不重复的随机数

在C语言中,可以使用以下方法产生不重复的随机数:

1、使用时间作为种子:

获取当前时间(以秒为单位)。

将当前时间转换为整数。

使用该整数作为随机数生成器的种子。

2、使用随机数生成器生成随机数:

包含头文件

使用srand()函数设置种子。

使用rand()函数生成随机数。

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

#include 
#include 
#include 
int main() {
    // 获取当前时间作为种子
    int seed = time(NULL);
    srand(seed);
    // 定义一个数组用于存储生成的随机数
    int numbers[10];
    int count = 0; // 用于计数已生成的随机数
    // 生成不重复的随机数并存储到数组中
    while (count < 10) {
        int random_number = rand();
        int is_duplicate = 0; // 标记是否重复的标志位
        // 检查生成的随机数是否已经存在数组中
        for (int i = 0; i < count; i++) {
            if (numbers[i] == random_number) {
                is_duplicate = 1; // 如果已经存在,则标记为重复
                break;
            }
        }
        // 如果随机数不存在于数组中,则添加到数组中,并更新计数器和标志位
        if (!is_duplicate) {
            numbers[count] = random_number;
            count++;
        }
    }
    // 输出生成的不重复随机数
    printf("Generated unique random numbers:
");
    for (int i = 0; i < count; i++) {
        printf("%d ", numbers[i]);
    }
    printf("
");
    return 0;
}

运行以上代码,将会输出10个不重复的随机数,请注意,由于是使用当前时间作为种子,因此每次运行程序时生成的随机数可能会不同。

本文标题:c语言怎么产生不重复的随机数
转载注明:http://www.shufengxianlan.com/qtweb/news16/414016.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联