我们制作一些东西的时候,经常会需要生成随机数,那么如何使用c语言如何随机产生一个数?生成随机数最简单的方法就是使用C语言的函数rand();它可以随机的产生 0 ~ rand_max 的随机数。rand_max 是一个很大的数字,我们一般的需要不可能超出它的范围。
但是其实rand()生成的是伪随机数,为什么这样说呢。看下面的代码。
#include <stdio.h> #include <stdlib.h> int main(){ int a=rand(); printf("%d\n",a); return 0; }
多运行几次会发现,得到的数是一样的。rand()是根据一个数按照某个公式推算出来的,这个数我们称之为“种子”,但是这个种子在系统启动之后就是一个定值,我们需要用 srand() 来进行播种,即在int a前加一句:
srand((unsigned)time(NULL)); //这里利用时间进行播种,需要time.h
这样就可以得出不同的随机数了。那么前面说得出的随机数会是 0 ~ rand_max,那么我们只要一个小范围的随机数怎么办?,比如0~50。这时候需要用到取余:rand()%51; 任何数取余51都不会得出大于等于51的数。那么自然得出的会是0~50点随机数了。
那么假如是10~50呢?rand()%51会得出0~50的随机数。那么再加上10,会得出10~60的随机数,这时候超过了10~50这个范围,所以应该:
rand()%41+10;
以上就是“c语言如何随机产生一个数?”的详细内容,想要了解更多C语言教程欢迎持续关注编程学习网
扫码二维码 获取免费视频学习资料
- 本文固定链接: http://phpxs.com/post/9937/
- 转载请注明:转载必须在正文中标注并保留原文链接
- 扫码: 扫上方二维码获取免费视频资料
查 看2022高级编程视频教程免费获取