C++中提供了两个产生随机数的函数,分别如下:
伪随机数函数——rand():用于返回一个0到32767之间的伪随机数
随机种子函数——srand():用来初始化随机数发生器的随机种子
这两个函数的头文件都为
随机种子的不同,产生的随机序列也不同,所以通常获取时间作为随机种子,这样就需要一个获取时间的函数time()函数,该函数的头文件为
代码如下:
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
int main(){
srand((int)time(0));
for(int i=0;i<10;i++){
cout<<rand()<<" ";//产生0-32767之间的随机数
//cout<<rand()*100/32767<<" ";//产生0-100 之间的随机数
//cout<<rand()*100/32767+100<<" ";//产生100-200之间的随机数
//cout<<rand()*1.0/32767<<" ";//产生0-1之间的随机数
}
}
想要产生0-100之间的随机数时,可以rand()*100/32767
同样的,想要产生100-200之间的随机数时,可以在上式的基础上加100
想要产生0-1之间的随机数时,可以直接rand()*1.0/32767
程序运行结果如图:
0-32767之间的随机数:
0-100之间的随机数(不包括100):
100-200之间的随机数(不包括200):
0-1之间的随机数(不包括1):