作业帮 > 综合 > 作业

c++20个随机数不重复

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/08/03 18:41:03
c++20个随机数不重复
范围在5~100,且每个数相差为5,即5,10,15,20.所以等于每一轮产生的20个数字是固定的,只不过顺序不一样,怎么写?
c++20个随机数不重复
随机取20个出来,与每个位置上的值交换.原来楼上的回答和我的是一样的.#include<iostream>
#include<cstdlib>
#include<ctime>
using namespace std;
int array[] = {
    5, 10, 15, 20, 25,
    30, 35, 40, 45, 50,
    55, 60, 65, 70, 75,
    80, 85, 90, 95, 100
};

int main() {
    int a, b, t;
    srand(time(NULL));//下随机数种子.
    for (int a = 0; a < 20; a++) {
        b = rand() % 20;
        t = array[a];
        array[a] = array[b];
        array[b] = t;
    }
    for (int a = 0; a < 20; a++)
        cout << array[a] << ',';
    cout << endl;
    return 0;
}
再问: 我还看到了这个,是产生1~10十个不重复的随机数,但是我没看懂怎么实现不重复的,能讲下吗?
再答: 随机产生一个1~10的数,如果有跟前面一样的,就重新取随机数. 第一个for循环就回退一部.i--就是这个意思.