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;
}
来源:CSDN
作者:RenGarZero
链接:https://blog.csdn.net/done1182818968/article/details/104250466