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