随机数rand和srand的用法

  • 有关于rand函数跟srand函数的用法
#include <stdio.h>
#include <math.h>
int main(){
	printf("%d\n",rand());
} 
  • 当你多次运行发现无论你运行多少次,他都是一个数不变,一直都是第一次你运行时候的那个数。

  •  这时候用到srand函数,会发现出现的数字跟之前并不相同,这个rand的序列被srand所改变,srand当中的数是多少,代表了rand中的随机序列被固定。
#include <stdio.h>
#include <math.h>
int main(){
	srand(100);
	printf("%d\n",rand());
} 

  • 如果我能将srand中的数进行随机,那么rand中的数字也就被随机了。(但是这个看起来很像一个套娃,可能有的人会说,我要是能让srand中的数一直随机变化,我还用的找用srand来改变rand中的序列?)
#include <stdio.h>
#include <time.h>
#include <math.h>
int main(){
	srand((unsigned int)time(NULL));
	printf("%d\n",rand());
} 
  • 运用一个time函数放到srand当中,就可以使得srand中的rand函数的序列一直在变化,就可以做到生成一个随机数了。(这样每次生成的数就不是固定的了)。
  • 但是同样的,我们一般都会给定一个范围内进行随机数的生成那么rand的格式是什么样子呢
    //当像设置的范围为[n,m]
rand()%(m-n+1)
  • 这就是rand可设定的范围格式。
  • 还有一个很重要的当在c语言的源文件中#include <math.h>中有rand和srand
  • 但是在c++中,<math.h>就不能运行,但是<stdlib.h>就能运行。(我用的是Dev-c++编译器。)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值