C++中随机数的几种求法
先上代码:
#include <iostream>
using namespace std;
#include <stdlib.h> //rand函数的库
#include <time.h> //以时间作为种子
#define MIN 0 //随机数产生的范围
#define MAX 99
#define random(x)(rand()%x)
int main()
{
int i;
srand((unsigned)time(NULL));
cout<<"Ten random numbers from "<<MIN<<
" to "<<MAX<<" :"<<endl;
for(i=0; i<11; i++) //产生随机数方法一
{
cout<<MIN + rand() % (MAX + MIN )<<"/";
}
cout<<endl;
cout<<"0-100随机数"<<endl;
for(i=0; i<11; i++) //产生随机数方法二
{
cout<<random(100)<<"/";
}
return 0;
}
第一种是用srand产生种子
为了避免每次产生的结果一样,rand需要借用种子
第二种直接在宏定义中定义一个random(int number)函数,然后调用它。
附上结果:
Ten random numbers from 0 to 99 :
92/21/7/15/2/69/49/89/20/69/95/
0-100随机数
79/61/73/96/29/47/91/17/88/69/56/
sandbox> exited with status 0