随机数的产生


本文内容来源于网络。ios



首先介绍一下要用到的头文件 : (.h结尾为C头文件,无后缀为C++头文件) 网络

stdlib.h / cstdlib : 包含随机数种子设置,随机数发生器.函数

 time.h / ctime : 包含时间函数spa

首先介绍函数:io

   void srand(unsigned seed); 设置随机数种子为参数中的seed.stream

   int rand(); 返回一个随机数,在同一个随机序列下依次返回序列中的每个数.随机数

   time_t time(time_t *);  返回从197011000秒到如今的秒数.循环

    为了保证随机性,咱们通常以time函数的返回值做为随机数种子,这样能够保证每次出现的随机序列是不一样的.因此一般用程序

          srand( (unsigned) time(NULL) );im

来设置随机数种子.可是time函数是以秒为单位的,因此在一秒的时间内若是两次调用srand会使随机数序列相同,致使输出相同.因此建议把srand放在全部操做以前,绝对不要放在循环中,不然以计算机的速度会在很短的时间内调用到屡次srand,致使重复序列一直出现.

    在设置完随机数种子以后就能够在程序中调用rand()来生成随机数了.若是要生成[a,b]之间的随机数就用rand() % (b - a + 1) + a来生成.

//随机数生成示例程序

#include <iostream>

#include <cstdlib>

#include <ctime>

using namespace std;

int main()

{

    srand( (unsigned) time(NULL) ); //设置随机数种子为当前时间

    for(int i = 1; i <= 20; i++)

        cout << rand() % 100 + 1 << endl; //生成201-100间的随机数

    return 0;

}

相关文章
相关标签/搜索