关于随机数

这篇博客讨论了在网易笔试中遇到的一道算法题,涉及随机扣掉诗句中的字并生成选项。博主介绍了如何使用rand()和srand()函数来生成随机数,并提醒了在生成特定范围内的随机数时的注意事项,同时提供了示例代码以展示如何设置随机数种子确保随机性。
摘要由CSDN通过智能技术生成

 昨天去网易笔试,最后一道题实在没有时间写了,大概题目这样的:

床前明月_ ,疑是地_霜,举头望_月,低头思故_。
A.光 上 明 乡
B.上 明 乡 光
C.乡 上 明 光
D.光 乡 上 明

请你编写一函数,随机扣掉每一句的一个字,然后生成3个错误选项,一个正确选项,选项的字必须是诗里所缺的字。请写出数据结构,算法。

好像要用到随机函数rand(),srand(),查了一下他们的用法:

srand()
是用来初始化随机种子数的,因为rand的内部实现是用线性同余法做的,他不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的,式子如下 rand = rand*const_1 + c_var;srand函数就是给它的第一个rand值。
用 int x = rand() % 100;来生成 0 到 100 之间的随机数这种方法是不或取的,比较好的做法是: j=(int)(n*rand()/(RAND_MAX+1.0))  // 产生一个0到n之间的随机数

RAND_MAX定义在stdlib.h,其值为2147483647

此范例未设随机数种子,并不是真正意义上的随机数:

#include <iostream.h>/*产生1~~~10之间的随机数*/
#include <stdlib.h>
#include <time.h>

main()
{
int i,j;
for(i=0;i<10;i++)
{

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值