市住房城乡建设网站,成都微网站公司,企业邮箱账号在哪里看,大坪网站建设C中生成随机数常用这两个函数#xff1a; rand()和srand()
rand()函数#xff0c;生成一个范围在[0,RAND_MAX]的随机数#xff0c;RAND_MAX的值为32767
其中RAND_MAX定义在cstdlib头文件中。
#include iostream
using namespace std;
#include cstdlibin…C中生成随机数常用这两个函数 rand()和srand()
rand()函数生成一个范围在[0,RAND_MAX]的随机数RAND_MAX的值为32767
其中RAND_MAX定义在cstdlib头文件中。
#include iostream
using namespace std;
#include cstdlibint main() {cout RAND_MAX endl;cout rand() endl;;return 0;
}注意rand()函数生成的是伪随机数故每次执行的结果是相同的。
我们可以用srand((unsigned)time(NULL))的方法产生不同的随机种子需要头文件ctime。
#include iostream
using namespace std;
#include ctime
#include cstdlibint main() {srand((unsigned)time(NULL));cout RAND_MAX endl;cout rand() endl;;return 0;
}产生指定范围内的随机数 可以先使用rand()函数产生一个[0,RAND_MAX]范围内的随机数然后在变换到指定范围内。 产生[a,b)的随机数可以使用 (rand() % (b-a))a; 产生[a,b]的随机数可以使用 (rand() % (b-a1))a; 产生(a,b]的随机数可以使用 (rand() % (b-a))a1; 通用公式arand() % n; 其中a为范围起始位置n为整数的范围 产生[a,b]的随机数可以使用 a(int)b*rand()/(RAND_MAX1); 产生[0,1]的浮点数可以使用 rand()/double(RAND_MAX); 例子 产生500个[0,1]的随机数
#include iostream
using namespace std;
#include cstdlib
#include ctimeint main() {srand((unsigned)time(NULL));for (int i 1; i 500; i)cout rand()%2 endl;return 0;
}