C++編程產(chǎn)生指定范圍內(nèi)的隨機(jī)數(shù)
C/C++編程產(chǎn)生指定范圍內(nèi)的隨機(jī)數(shù),直接上個(gè)小程序:
#include <stdlib.h>
#include <time.h>
#include <stdio.h>
#include <string>
#include <string.h>
/*
* 獲取隨機(jī)數(shù)
* return : 隨機(jī)數(shù)
*/
int commonGetRandNumber(const int low, const int high)
{
int randNum = 0;
//生成隨機(jī)數(shù)
randNum = rand() % (high - low + 1) + low;
return randNum;
}
#define RAND_MAX_LEN (16)
#define RAND_MIN_VALUE (0)
#define RAND_MAX_VALUE (9999)
/*
* 獲取隨機(jī)數(shù)的字符串形式
* return : 隨機(jī)數(shù)字符串
*/
std::string commonGetRandString()
{
int low = RAND_MIN_VALUE;
int high = RAND_MAX_VALUE;
int randNum = 0;
char randArray[RAND_MAX_LEN] = {0};
std::string randStr;
//生成隨機(jī)數(shù)
srand(time(0));
randNum = commonGetRandNumber(low, high);
snprintf(randArray, sizeof(randArray)-1, "%d", randNum);
randStr = randArray;
return randStr;
}
/*
* 獲取根據(jù)給定字符數(shù)組和隨機(jī)數(shù)生成隨機(jī)字符串
*/
std::string getNonceStr(int length = 32)
{
std::string chars = "abcdefghijklmnopqrstuvwxyz0123456789";
std::string str = "";
//生成隨機(jī)數(shù)
srand(time(0));
for ( int i = 0; i < length; i++ )
{
str += chars.substr(commonGetRandNumber(0, chars.size() - 1), 1);
}
return str;
}
int main()
{
//獲取隨機(jī)數(shù)
srand(time(0));
int randNum = commonGetRandNumber(10, 100);
printf("randNum=%d\n", randNum);
//獲取隨機(jī)數(shù)的字符串形式
std::string randStr = commonGetRandString();
printf("randStr=%s\n", randStr.c_str());
//獲取根據(jù)給定字符數(shù)組和隨機(jī)數(shù)生成隨機(jī)字符串
std::string randChar = getNonceStr();
printf("randChar=%s\n", randChar.c_str());
}
調(diào)用rand()會(huì)產(chǎn)生[0,32757]之間的隨機(jī)數(shù),(high - low)的絕對(duì)值不能超過(guò)32767。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- C語(yǔ)言/C++中如何產(chǎn)生隨機(jī)數(shù)
- C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- C++編寫生成不重復(fù)的隨機(jī)數(shù)代碼
- 使用C/C++語(yǔ)言生成一個(gè)隨機(jī)迷宮游戲
- C++常見(jiàn)獲取隨機(jī)數(shù)的方法小結(jié)
- C++產(chǎn)生隨機(jī)數(shù)的實(shí)現(xiàn)代碼
- C++實(shí)現(xiàn)隨機(jī)生成迷宮地牢
- C語(yǔ)言/C++如何生成隨機(jī)數(shù)
- C++生成隨機(jī)數(shù)的實(shí)現(xiàn)代碼
- C++生成不重復(fù)的隨機(jī)整數(shù)
- C++中生成隨機(jī)數(shù)的方法總結(jié)
- C++隨機(jī)打亂函數(shù)的項(xiàng)目實(shí)踐
相關(guān)文章
C語(yǔ)言中判斷兩個(gè)IPv4地址是否屬于同一個(gè)子網(wǎng)的代碼
這篇文章主要介紹了C語(yǔ)言中判斷兩個(gè)IPv4地址是否屬于同一個(gè)子網(wǎng)的代碼,需要的朋友可以參考下2017-09-09
C語(yǔ)言判斷字符串長(zhǎng)度的方法小結(jié)
學(xué)過(guò)C/C++的人都知道,在C/C++中并沒(méi)有提供直接獲取數(shù)組長(zhǎng)度的函數(shù),對(duì)于存放字符串的字符數(shù)組提供了一個(gè)strlen函數(shù)獲取其長(zhǎng)度,那么對(duì)于其他類型的數(shù)組如何獲取他們的長(zhǎng)度呢?本文給大家介紹了C語(yǔ)言判斷字符串長(zhǎng)度的方法小結(jié),需要的朋友可以參考下2024-08-08
C語(yǔ)言實(shí)現(xiàn)超市管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了C語(yǔ)言實(shí)現(xiàn)超市管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07
一起來(lái)學(xué)習(xí)C++的構(gòu)造和析構(gòu)
這篇文章主要為大家詳細(xì)介紹了C++構(gòu)造和析構(gòu),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
用C語(yǔ)言遞歸實(shí)現(xiàn)火車調(diào)度算法詳解
本文主要介紹了用C語(yǔ)言遞歸實(shí)現(xiàn)火車調(diào)度算法詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11
關(guān)于C++中push_back()函數(shù)的用法及代碼實(shí)例
push_back是vector的一個(gè)方法,表示將一個(gè)元素存儲(chǔ)到容器的末尾,下面這篇文章主要給大家介紹了關(guān)于C++中push_back()函數(shù)用法的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-11-11

