中易网

rand函数的范围:假设所要求数的范围不从一开始的时候这个函数怎么用呢?

答案:2  悬赏:30  
解决时间 2021-01-16 13:22
rand函数的范围:假设所要求数的范围不从一开始的时候这个函数怎么用呢?
最佳答案
C/C++中 stdlib中的rand吗
srand((unsigned) time(NULL));
// low, high限制产生随机数范围
int GetRandomInteger(int low, int high)
{
int i;
double d;

d = (double)rand() / ((double)RAND_MAX + 1); //d的范围为0.0...~0.9...

i = (int)(d * (high - low + 1)); // i的范围为 0 ~ high-low

return (i+low); //i+low限制范围
}

java中的话

private static Random RAND = new Random();
public static int getRandNumInRange(int low, int high) {

if(high int temp = high;
high = low; low = temp;
}

int i = 0;
double d = 0.0;

// 获得一范围为 0.0...~0.9...的随机双精度数
d = RAND.nextDouble();

// 限制范围到low~high
i = (byte)(d * (high - low + 1)+low);

return i;
}
全部回答
rand函数返回一个0到RAND_MAX之间的正整数。
如果要求的范围从其他数开始,可以加上这个数,
如int n = rand() + 5就是从5开始的.
如果要限制最大值最小值,就只能用取余,比如
int n = rand() % 16,返回一个0到15之间的随机数。
int n = 5 + rand() % 16, 就返回一个5到20之间的随机数
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么我的HP818墨盒上了墨水后打印不出来了
两合青青幼儿园地址在什么地方,想过去办事
剑三 监控团员被BOSS技能击杀的插件是哪个,
1991年1月4日晚4点45分是属什么肖
女子监狱,女犯人是怎么解决“生理需要”
平龙双语幼儿园地址在什么地方,想过去办事
至尊小超人为什么会变成反派?
中国会让韩国加一带一路吗
excel表格已知金额和数量怎么算出单价
炉石传说天梯新奖励机制,详细点。
为什么现在上着班,却想茏
用韩文我爱你龙怎么写
杏南街道办事处地址在什么地方,想过去办事
EDTA二钠对身体有害吗?
幸好有你英语怎么写阿
推荐资讯
海水通过日晒能得到粗盐,说明海水是(  )
如丧考妣为什么会带贬义
金德兴超市(高新店)地址好找么,我有些事要过
李清清的韩语怎么写
陈姓人数几亿?
辩论开场白
碗莲为什么叶子发黑啊
萌新请问拳僧的疑问
GB175-2007/XG1-2009《通用硅酸盐水泥》
手机50M,50MB的流量是一样吗?
楼下商铺打扰楼上住户休息,有什么法律或者其
蒙字开头的词语
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?