本文内容来源于网络。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 *); 返回从1970年1月1日0时0分0秒到如今的秒数.循环
为了保证随机性,咱们通常以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; //生成20个1-100间的随机数
return 0;
}