【C/C++】产生随机数

 

 1 #include<iostream>
 2 #include<Ctime>
 3 #include<Cstdlib>
 4 using namespace std;
 5 
 6 //产生n个start~end之间的数(包含小数)
 7 void random(int start,int end,int n)
 8 {
 9     srand((unsigned)time(NULL));//设置随机种子
10     int temp;
11     double dt;
12      for(int cn=0;cn<n;cn++)
13      {
14      temp=start+rand()%(end-start+1);//rand()返回一个从0到RAND_MAX之间的整数。
15      dt=temp*(temp/(temp+1.0));
16      if(dt<start)
17          dt=start;
18      if(dt>end)
19          dt=end;
20      cout<<dt<<endl;
21      }
22 }

 

【NOTE】

由于设置随机种子语句执行时间较长,若需要取多个随机数时最好放到循环结构外面。

关于RAND_MAX ,<stdlib.h>头文件中有如下预定义:

——————————————————————————————————

 #define RAND_MAX 0x7fff

——————————————————————————————————

0x7fff 即十进制 32767

posted @ 2016-06-02 21:20  wxiaoli  阅读(267)  评论(0编辑  收藏  举报