2021年618京享红包 - 618大促主会场
九阳 Joyoung电磁炉 电陶炉 2200W大功率 家用火锅套装 旋转控温 红外光波加热 H22-x3 赠烤盘
凯迪仕电子锁618狂欢购
有健康 更热爱
美丽雅品牌会员周

十行代码一重循环实现C++在指定范围内生成指定数量的不重复随机数

微凉离别意 1年前   阅读数 117 0

在[a,b]中生成n个不重复的随机数

可以使用srand()来设置rand()产生随机数时的随机数种子,设置不同的种子可以获取不同的随机数序列。

可以利用srand((int)(time(NULL))的方法,利用系统时钟,产生不同的随机数种子。需要调用time(),所以要加入头文件< ctime >。(这里用了万能头文件)

#include<bits/stdc++.h>
using namespace std;
int main()
{
    srand((int)time(0));
    int arr[100]= {0};
    int i=0,t=0,n=0,a=0,b=0;
    cin>>n>>a>>b;
    while(t<n)
    {
        i=rand()%(b-a+1) +a;
        if(arr[i]==0)
        {
            arr[i]=1;
            cout<<i<<" ";
            t++;
        }
    }
}



注意:本文归作者所有,未经作者允许,不得转载

全部评论: 0

    我有话说: