C语言中随机数的问题.
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/07/16 19:18:16
C语言中随机数的问题.
#include
.
srand(time(0));
.
a=rand()%100;
.
这样是求100以内的随机数,怎么能求出某个范围内的随机数呢,比如50-90的,
#include
.
srand(time(0));
.
a=rand()%100;
.
这样是求100以内的随机数,怎么能求出某个范围内的随机数呢,比如50-90的,
![C语言中随机数的问题.](/uploads/image/z/770430-30-0.jpg?t=C%E8%AF%AD%E8%A8%80%E4%B8%AD%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%9A%84%E9%97%AE%E9%A2%98.)
公式rand()%(b-a),是求范围随机数的计算公式,%是做求余运算,正整数对n求余的范围肯定是在0~n-1之间,也就是rand()%(b-a)的范围是0~b-a-1,然后加上a,也就是范围变成了a~b-1.
而rand()%90+10=rand()%(100-10)+10,自己算算看吧.
所以:50~90的随机数应该是a=rand()%90+50;
而rand()%90+10=rand()%(100-10)+10,自己算算看吧.
所以:50~90的随机数应该是a=rand()%90+50;