C++随机数

C++中的随机数(伪随机)产生不像其他语言直接通过Random函数生成,需要使用 cstdlib库中rand()函数。

产生  [a,n)  的随机数通用公式:a + rand() % n;其中的a是起始值,n是整数的范围。

一般为了产生不重复的随机数,会使用srand()函数设置种子,会以时间为种子。

srand((int)time(0));//产生随机数种子,srand()函数

 例1

void Bank::Setaccount()
{
    srand((int)time(0));//产生随机数种子,srand()函数
    long tempcard = 0;
    for(int i = 0; i < 11; i++){
        tempcard  += tempcard*10 + rand() % 10;//要取得[0,n)  就是rand() %n     表示 从0到n-1的数
        /*其他的随机数的范围通式
        产生一定范围随机数的通用表示公式是:
        要取得[0,n)  就是rand()%n     表示 从0到n-1的数
        要取得[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)。
        */
        if (tempcard < 0) i--;
    }
    account = tempcard;
    cout << "您的账号是: " << account << endl;

}

 

posted @ 2020-02-11 13:12  BISTER  阅读(25)  评论(0)    收藏  举报  来源