C++中生成任意范围内随机数的方法

//该宏定义需要放在所有头文件的前面,否则可能编译通不过
#define _CRT_RAND_S
#include <stdlib.h>
#include<iostream>
using namespace std;

//产生随机数,其中范围为min~max
unsigned int Random(int min,int max)
{
    errno_t err;
    unsigned int number;
    err = rand_s(&number);
    if(err != 0)
    {
      return 0;//产生失败,返回0
    }
    unsigned temp1=(unsigned int)((double)number / ((double)UINT_MAX + 1) * double(max-min))+min;
    return  temp1;
}

int main()
{
    int max=99999;
    int min=10000;
    for(int i=0;i!=1000;i++)
    cout<<Random(max,min)<<endl;
}

在一个帖子里的回复,为了发便,干脆拿出来写博里。

发布了32 篇原创文章 · 获赞 6 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/scutth/article/details/6895015