rand在c语言那一个函数库,C语言中rand()函数及time库相关

rand()函数

rand() 函数原型是int rand(void),它会返回一个从0到RAND_MAX的整数(RAND_MAX是 C 语言标准库 中定义的一个宏 0x7fff 即32767)

但是仅仅用rand()返回的结果是不变的,因为rand()函数是根据一个数(我们称之为种子)通过固定的公式计算而来的,但是计算机开机后,这个种子的值是定了的,所以结果不变

C提供了 srand()函数,它的原型是void srand( int a) 功能是初始化rand()函数的初始值

但是对于种子a,我们不可能每产生一次随机数,就手动输入一次a吧

所以我们就以计算机的时间作为种子,那么种子就会自己变了( time()函数见下方讲解 )

#include

using namespacestd;intmain()

{

srand(time(NULL));//time(NULL)即为获取系统时间

cout << rand() <

}

那如何生成一定范围 内的随机数呢,很容易想到用“%”和“+”即可实现

因为  0 <= rand()%(n-m+1) <= n-m

所以 m <= rand()%(n-m+1)+m <= n

#include

using namespacestd;intmain()

{intn, m;

cin>> m >>n;

srand(time(NULL));

cout<< rand() % (n - m + 1) + m &

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值