是我曾经的一些心路笔记,分享给初学者
random函数
最开始了解到随机数函数,是在primer书上看到的random函数,后来才知道,random函数虽然是随机数,但是,其实它并不是标准函数,以至于在vs,vc上无法编译通过。
rand函数
于是,这时候,我才了解到了一个标准的函数rand,这个函数不需要单独的头文件,只需要最常见的<stdlib.h>即可运行,很是方便。
例子:
#include <stdio.h>
#include <stdlib.h>
int main(){
int a = rand();
printf("%d\n",a);
return 0;
}
运行结果我就不列举了,因为是随机数值。
srand函数
我第一次了解到srand函数,是在一道题里看到的,当时很好奇这个和rand有什么区别,后来查询了资料才知道,rand是“伪随机”,比如,将上面的例子多次运行,会发现,它的数字不变了,这显然不是我们期望的。
这是由于rand也是公式推算的,而公式推导的结果类比于正态分布。
因此,srand函数的作用就来了,通过重新计算,使得随机数依然不同。void srand (unsigned int);
随机数可以有范围限制
举个例子:
int a = rand() % 100; //产生0~100的随机数,注意100会被整除
刚刚这个解释可能不够具体,再看下面这个
int a = rand() % 11 + 11;
rand()%11+13这个地方,我们可以看成两部分:rand()%10是产生 0~10 的随机数,后面+11保证 a 最小只能是 11,最大就是 10+11=21
好啦,今天的分享就到这儿了,希望这个博客可以帮助到为这个问题疑惑的同学。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。