当c语言用随机生成数,
来做测试时,应该怎么做呢?????
我们先引入两个库函数:
#include<stdlib.h>
#include<time.h>
再引入两个函数:
rand()
srand()
那么现在来解释下这两个东东有什么用:
rand()
可以理解成 生成数据的东西,吃粥还是吃饭就靠这东西了,
可以看成是一颗种子突然从光秃秃的地上崩出来。
srand()
这个又是什么呢?
你看前面不是有颗蹦出的种子吗,嘿嘿,那么肯定要有播种子的函数啦,
就像你一样,没有播种你怎么能生出来,哈哈。
那么疑问来了:
为什么要播种,时间函数又有什么用???
我们看看下面:
srand(1)
t=rand()%10
这时候,我们可以得到多次t的值,
而这个时候我们可以惊奇地发现,
多次的t值都是一样的。
那么这个时候,就不叫随机数了,而叫伪随机数。
为什么会这样呢?
因为播种的种子是1,是一成不变的。
好的,那我们现在来思考一下,如何让多次t不一样呢,
这个时候,我们想到了用一个变化的种子,那么最简单的种子是什么呢??
哈哈,当然是会动的时间啦。
time(NULL)函数出现了,
话不多说,
那么就有如下代码:
(可以直接把形式记住,大多数都是一样的)
srand(time(NULL))
t=rand()%10
大功告成,
自己好好领会下原理。