C语言中产生随机数的方法.doc

C语言中产生随机数的方法.doc

ID:57687303

大小:15.00 KB

页数:2页

时间:2020-09-01

C语言中产生随机数的方法.doc_第1页
C语言中产生随机数的方法.doc_第2页
资源描述:

《C语言中产生随机数的方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言中产生随机数的方法引例:产生10个[100-200]区间内的随机整数。#include#include//rand函数的头文件#include//时间函数的头文件intmain(){inti;//循环变量srand((unsigned)time(NULL));//产生随机数的起始数据(以时间为种子)for(i=0;i<10;i++)//printf("%d",rand());//产生[0,0x7fff)即[0,32767)以内的随机整数//printf("%d",rand()%100);//产生0-99的随机

2、整数printf("%d",rand()%(200-100+1)+100);//产生[100,200]内的随机整数return0;}在C语言中产生随机数需要以下几个函数的配合使用。(1)rand函数——产生伪随机数原型:intrand(void)头文件:stdlib.h功能:产生从0到RAND_MAX之间的随机数。RAND_MAX的值通常是0x7fff(十六进制数7FFF,也就是十进制数32767)。例:#include#includeintmain(){intk;k=rand();printf("%d",k);return0;}

3、编译运行,发现每次运行程序产生的随机数都是一样的。计算机中产生随机数,实际是采用一个固定的数作为“种子”,在一个给定的复杂算法中计算结果,所以叫“伪随机数”。C语言中由于采用固定的序列作为种子,所以每次执行所取的是同一个数。为上面的例子增加一个循环结构:#include#includeintmain(){intk,i;for(i=0;i<10;i++){k=rand();printf("%d",k);}return0;}运行时会产生10个互不相同的随机数。但再次运行,产生的还是这10个数。为了产生不同的随机数列,需要srand函数来改

4、变随机数种子。(2)srand()函数原型:voidsrand(unsignedseed)头文件:stdlib.h功能:由随机数种子seed进行运算产生随机数的起始数据。与rand函数配合使用,可产生不同的随机数列。例:#include#include#includeintmain(){inti;srand((unsigned)time(NULL));//函数time取得时间,其头文件是time.hfor(i=0;i<10;i++)printf("%d",rand());return0;}程序运行时,每次产生10个不同

5、的随机数。因为采用时间作为种子,而时间一直在变化,所以就产生了“随机”的随机数了。在实际应用中,常需要产生指定范围的随机整数。可采用下面给出的表达式。(3)产生指定区间的随机数采用表达式rand()%(Y-X+1)+X可以产生[X,Y]区间内随机整数。例如:rand()%100//产生0~99间的随机数rand()%(200-100+1)+100//产生100-200间的随机数

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。