c++如何产生随机数?要包含什么头文件吗?

比如说想在0到100之间随机产生数,怎么实现?

第1个回答  2014-10-08
#include <iostream> 
#include <stdlib.h
#include <time.h> 

using namespace std; 

int main() 

        srand((unsigned)time(NULL)); 
        for(int i = 0; i < 10;i++ ) 
                cout << rand() << '\t'; 
        cout << endl; 
        return 0; 
}

 虽然是随机数,但不会超过30000,所以

要取得[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(RAND_MAX)。

追问

不是啊,你这个随机数是没有范围的,我要的是在某一个范围内产生随机数。。。

追答

你没看错,我是后来加的

本回答被提问者采纳
相似回答