首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在C++中生成随机20非重复数

在C++中生成随机20个非重复数,可以使用以下方法:

  1. 使用C++的随机数生成器函数rand()来生成随机数。
  2. 使用一个数组来存储生成的随机数,每次生成一个随机数后,检查数组中是否已经存在该数,如果存在则重新生成,直到生成一个非重复数为止。
  3. 使用循环生成20个非重复数。

下面是一个示例代码:

代码语言:txt
复制
#include <iostream>
#include <cstdlib>
#include <ctime>

int main() {
    const int MAX_NUM = 100; // 生成的随机数的范围为0到99
    const int NUM_COUNT = 20; // 需要生成的非重复数的个数

    int numbers[NUM_COUNT]; // 存储生成的非重复数
    int count = 0; // 当前已生成的非重复数的个数

    // 设置随机数种子
    std::srand(std::time(0));

    while (count < NUM_COUNT) {
        int num = std::rand() % MAX_NUM; // 生成一个随机数

        // 检查数组中是否已经存在该数
        bool isDuplicate = false;
        for (int i = 0; i < count; i++) {
            if (numbers[i] == num) {
                isDuplicate = true;
                break;
            }
        }

        // 如果不存在,则将该数添加到数组中
        if (!isDuplicate) {
            numbers[count] = num;
            count++;
        }
    }

    // 输出生成的非重复数
    for (int i = 0; i < NUM_COUNT; i++) {
        std::cout << numbers[i] << " ";
    }
    std::cout << std::endl;

    return 0;
}

这段代码使用了rand()函数生成随机数,并通过循环和数组来确保生成的数是非重复的。其中,MAX_NUM表示生成的随机数的范围,NUM_COUNT表示需要生成的非重复数的个数。代码中使用了一个布尔变量isDuplicate来标记是否存在重复数,如果不存在,则将该数添加到数组中。最后,通过循环输出生成的非重复数。

请注意,这只是一个示例代码,实际应用中可能需要根据具体需求进行修改和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 领券