C/C++培训
达内IT学院
400-996-5531
这篇文章主要为大家详细介绍了C++编程产生指定范围内的随机数,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
#include <stdlib.h>#include <time.h>#include <stdio.h>#include <string>#include <string.h>
/* * 获取随机数 * return : 随机数 */int commonGetRandNumber(const int low, const int high){ int randNum = 0;
//生成随机数 randNum = rand() % (high - low + 1) + low;
return randNum;}
#define RAND_MAX_LEN (16)#define RAND_MIN_VALUE (0)#define RAND_MAX_VALUE (9999)
/* * 获取随机数的字符串形式 * return : 随机数字符串 */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;
//生成随机数 srand(time(0)); randNum = commonGetRandNumber(low, high);
snprintf(randArray, sizeof(randArray)-1, "%d", randNum);
randStr = randArray;
return randStr;}
/* * 获取根据给定字符数组和随机数生成随机字符串 */std::string getNonceStr(int length = 32){ std::string chars = "abcdefghijklmnopqrstuvwxyz0123456789"; std::string str = "";
//生成随机数 srand(time(0)); for ( int i = 0; i < length; i++ ) { str += chars.substr(commonGetRandNumber(0, chars.size() - 1), 1); }
return str;}
int main(){
//获取随机数 srand(time(0)); int randNum = commonGetRandNumber(10, 100); printf("randNum=%d\n", randNum);
//获取随机数的字符串形式 std::string randStr = commonGetRandString(); printf("randStr=%s\n", randStr.c_str());
//获取根据给定字符数组和随机数生成随机字符串 std::string randChar = getNonceStr(); printf("randChar=%s\n", randChar.c_str());
}
调用rand()会产生[0,32757]之间的随机数,(high - low)的绝对值不能超过32767。
免责声明:整理文章为传播相关技术,版权归原作者所有,如有侵权,请联系删除
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved