C语言随机数生成

rand函数用于生成伪随机数,但需要srand设置种子以获得不同结果。srand通常用time(NULL)提供当前时间作为种子以确保每次运行的随机性。若要生成特定区间如16到85的随机数,可以使用rand()%70+16这样的方式映射和调整区间。
摘要由CSDN通过智能技术生成

学习笔记,欢迎交流:

rand函数

int rand (void);
功能:根据种子生成随机数(伪随机)
参数:void 即没有参数
返回值:生成的随机数

rand的随机是利用种子做计算生成的,这里说的“种子”在系统启动后就确定了,所以多次执行rand函数会发现随机数都是一样的并不随机,这时需要srand函数来设置种子。

srand函数

void srand (unsigned int seed);
功能:设定种子
参数:输入种子,常用系统时间time(NULL)作为参数输入
返回值:无

因为系统的时间是不断变化的,使用time()获取时间输入srand可以帮助我们生成随机数。

此时生成的随机数很大,如果像生成在某个区间的随机数可以采用取余的方式把过大的数映射回小区间:
比如,生成区间是16到85的随机数:
rand()%70+16
其中rand()%70表示生成0~69之间的数
+16表示将区间移到16~85

综上,随机数的生成如下

srand(time(NULL));//设定变化的种子
int ret = rand()%70+16;//产生16~85区间的随机数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值