永发信息网

C语言的rand()函数尽管使用了srand((unsigned)time(NULL)),随机数结果仍然非常接近,这是为什么?

答案:2  悬赏:50  手机版
解决时间 2021-02-13 22:16
最近要做一个程序,是要把rand()的结果生成到1~30,我利用了标题所示函数,并用除法,但是每次结果都是4,后来直接使用标题所述的两个函数测试,多次测试发现生成的第一个随机数总是在6700附近,这种状况应该怎么解决?
最佳答案
1~30 整型:
srand((unsigned)time(NULL));
for(i = 1;i <=110;i++)
printf("%d",rand() % 30 + 1 );
全部回答
实际上你的方法已经可以,问题就出现在你的函数调用上,譬如首先通过时间,然后产生随机: (1)时间上,可以通过 tick 进行,提高精度(time 函数很不咋地),譬如获取 ms 单位精度; (2)根据 c lib 获取 crandval (3)有了时间的随机数 (timemagic) 和 clib 随机数, 最终通过求和关系 randval = (max + timemagic + crandval)%max,anywhere 你可以通过别的关系。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
临朐潍坊鑫盛源宾馆地址在什么地方,我要处理
我的机动车和摩托相撞他付主要责任。可摩托就
不同性质的工作需要不同的能力,比如会计需要
重庆个税查询怎么查
别克凯越自动挡急加速冒黑烟什么原因
临朐潍坊和顺旅馆怎么去啊,我要去那办事
360手机N4S关掉app后能收到推送消息吗?
设m,n是两个数,规定m※n=5×n-(m+n)÷2(
临朐潍坊富民招待所(骈邑路店)地址在什么地方
三色堇自助家庭短租公寓地址在哪,我要去那里
如果走官方DHL空运的话,DHL需要我提交UN38.3
Iomega ix2 NAS 怎么重刷固件
最近在外面遛狗看见很多狗狗穿着一条裤子,有
东南DX3自动挡变速箱是哪里的?几速?
临朐云海旅馆怎么去啊,我要去那办事
推荐资讯
大宅院火锅地址有知道的么?有点事想过去
外来媳妇本地郎 康祈宗和他老婆闹离婚是多少
印佳瑜伽地址有知道的么?有点事想过去!
云川幼儿园地址在什么地方,想过去办事
请问河南省信阳市罗山县存放毕业生档案的地方
君威1.6t精英技术型瞬时油耗显示怎么没了
宽带猫换光纤猫了,宽带猫可以干什么
部落美术(纱厂路分校)地址有知道的么?有点事
柠檬水对皮肤好吗?每天喝柠檬水会不会对胃不
【真空杯和保温杯的区别】你买的真空保温杯内
博康眼镜(永宁街)地址好找么,我有些事要过去
坐火车在买票的下一站坐车怎么办手续?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?