【学习记录】随机数的生成

 

【rand函数】
功 能::伪随机数发生器
  所属库:stdlib.h
  用 法: 需要先调用srand初始化,一般用当前日历时间初始化随机数种子,这样每次执行代码都可以产生不同的随机数。
  函数原型:int rand(void);
【srand函数】
  srand函数是随机数发生器的初始化函数。
  原型:void srand(unsigned seed);
  用法:它需要提供一个种子,如: srand(1); 直接使用1来初始化种子。不过常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t)); 还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned) time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的t数据。srand((int)getpid()); 使用程序的ID(getpid())来作为初始化种子,在同一个程序中这个种子是固定的。
【time】 
  头文件:time.h
  函数原型:time_t time(time_t * timer)
  功 能: 获取当前的系统时间,返回的结果是一个time_t类型,其实就是一个大整数,其值表示从CUT(Coordinated Universal Time)时间1970年1月1日00:00:00(称为UNIX系统的Epoch时间)到当前时刻的秒数。

**************************************************************************

以上就是使用到的新函数。在使用的过程中还是没有什么障碍,就是注意一些细节的掌握。知识反倒不是那么关键了。

 

 

 

 

 

 

 

 

编写过程中注意的问题:



1、头文件
【rand】函数在【stdlib.h】文件中
【time】函数在【time.h】文件中
不要漏下任何一个。

2、生成数的筛选
在第一次编译时,我用过这么一个代码

在这段代码中,看似没问题,但是确实错了,因为函数rand()引用的***并不是同一个值。

当然,这段代码依然可以优化:

 

 


 
3、文件关闭
千万不要忘了这一点。很多情况下,都会造成数据丢失的。
如果怕忘了就在心里默念一万遍,关闭文件关闭文件关闭文件关闭文件关闭文件关闭文件……………………

 

 

 编辑后的程序……

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值