c++产生随机数,要使用rand()和srand()
不过rand()它总是会返回同一随机数
所以还是用srand()比较好,利用系统时钟(我也不晓得这玩意是啥),产生不同的随机数种子,不过要调用time(),而time()又需要头文件
代码实现如下:
#include<iostream>
#include<stdlib.h>
#include<ctime>
using namespace std;
int main()
{
srand((int)time(0));
cout<<rand()%100<<endl;//范围是0~100,也就是可以取到[0,99]的数
return 0;
}
还有另一种表示方法:
#include<iostream>
#include<stdlib.h>
#include<ctime>
#define random(x) rand()%(x)
using namespace std;
int main()
{
srand((int)time(0));
cout<<random(100)<<endl;
return 0;
}
要取得[a,b)的随机整数,使用a+(rand()%(b-a));
要取[a,b]的随机整数,使用a+(rand()%(b-a+1));