View Code
#include <iostream> #include <stdlib.h> #include <time.h> using namespace std; int main() { int a=2,b=9; srand((unsigned)time(NULL)); for(int i=0; i<10;i++ ) cout<<rand()%(b-a)+a<<endl; cout << endl; return 0; }
<一>生成[a,b)的随机整数,使用rand()%(b-a)+a;
<二>生成[a,b]的随机整数,使用rand()%(b-a+1)+a;
<三>生成(a,b]的随机整数,使用rand()%(b-a)+a+1;
通用公式:a+rand()%n;其中的a是起初值,n是整数的范围
要取得a到b之间的随机整数,另一种表示:a+(int)b*rand()/(RAND_MAX+1)
要取得0~1之间的浮点数,可以使用rand()/double(RANG_MAX)