c语言srand函数作用,C语言中srand随机函数怎么用?
C语言随机函数总结2008-04-28 22:25(1) rand()函数:
原型: int rand(void)
功能: 产生从0到RAND_MAX(0x7fff)之间的随机数。
头文件: stdlib.h
例:
#include
#include
int main()
{
int k;
k = rand();
printf("%d\n", k);
return 0;
}
编译运行,发现他的确产生随机数了,但是,每次运行程序产生的随机数都是一样的,为什么呢?因为随机数取在C语言中采用的是固定序列,所以每次执行所取的是同一个数。那么如何写一个程序,让它每次运行时产生的随机数都不一样呢?往下看:
(2)srand()函数:
原型: void srand(unsigned seed)
功能: 产生随机数的起始发生数据,和rand函数配合使用
头文件: stdlib.h time.h
例:
#include
#include
#include
int main(void)
{
int i;
time_t t;
srand((unsigned) time(&t));
printf("Ten random numbers from 0 to 99\n\n");
for (i=0; i<10; i++)
printf("%d\n", rand()%100);
return 0;
}
这时运行程序,会发现每次产生的随机数都不一样。这是因为这里采用了时间作为种子,而时间在每时每刻都不相同,所以就产生了"随机"的随机数了。所以,要想产生不同的随机数,在使用rand之前需要先调用srand。这样做相当麻烦,有没一个更简单的函数呢?往下看:
(3)randomize()函数:
原型: int randomize(void)
功能: 通过time函数来得到一个随机数
头文件: stdlib.h time.h
该函数就相当于srand((unsign)(time(NULL)) 不过应注意的是randomize()的功能要通过time来实现所以在调用它时头文件要包含time.h。
(4)产生一个X到Y的随机数:
由于rand产生的随机数从0到rand_max,而rand_max是一个很大的数,那么如何产生从X~Y的数呢?
只要这样写:
k=rand()%(Y-X+1)+X;
这样,就可以产生你想要的任何范围内的随机数了。
c语言srand函数作用,C语言中srand随机函数怎么用?相关推荐
- c语言中srand的作用,C语言中srand(), rand(), time()函数 转载
srand函数 srand函数是随机数发生器的初始化函数. 原型:void srand(unsigned seed); 用法:它需要提供一个种子,这个种子会对应一个随机数,如果使用相同的种子,后面的r ...
- c语言fgetc函数作用,C语言中fgetc函数的使用方法
该函数包含在C语言中的stdio.h头文件中,主要功能是从流中读取一个字符,并增加文件指针的位置. 函数原型:int fgetc(FILE *fp); 函数功能:从流中读取字符,即从fp所指定的文件中 ...
- c语言while函数作用,C语言中while /do while语句用法
在c语言中do while与while与我们学的vb,asp.net都一样的,下面我来介绍一下关于C语言中while /do while语句基于用法. C语言while语句的用法 while语句的一般 ...
- c语言rewind函数作用,C语言中的setlinebuf()、utmpname()、rewind函数使用
C语言setlinebuf()函数:设置文件流为线性缓冲区头文件: #include 定义函数: void setlinebuf(FILE * stream); 函数说明:setlinebuf()用来 ...
- c语言s_gets函数作用,C语言中gets_s(),gets(),fgets()函数的比较。
先来讲讲大家最熟悉的gets()函数. 1.gets()函数不安全. 2.C11标准委员会已经将其废除,建议能不用尽量不用. 解释: gets()函数的作用:它读取整行输入,直至遇到换行符,然后丢弃换 ...
- exit在c语言里的作用,C语言中exit函数的使用
exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束 return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进程了,如果不是,那就是退回上一层调 ...
- c语言atan的作用,C语言中的atan和atan2
在C语言的math.h或C++中的cmath中有两个求反正切的函数atan(double x)与atan2(double y,double x) 他们返回的值是弧度 要转化为角度再自己处理下. 前者 ...
- c语言中exit函数作用,c语言中exit函数 c语言中exit与break区别
C语言中exit();怎么用? exit() 结束当前进程/当前程序/,在整个程序中,只要调用 exit ,就结束. return() 是当前函数返回,当然如果是在主函数main, 自然也就结束当前进 ...
- sort在c语言中的作用,c语言中sort的用法详解.docx
c语言中sort的用法详解.docx C语言中SORT的用法详解C语言的学习很多是比较复杂的,那么C语言中SORT的用法的用法你知道吗下面学习啦小编就跟你们详细介绍下C语言中SORT的用法的用法,希望 ...
- c语言ftell的作用,C语言中ftell函数的使用方法
在C语言中,ftell函数用来返回回当前文件指针的位置.其定义在stdio.h头文件中.具体介绍如下: 函数原型:long ftell(FILE *fp); 是否是标准函数:是 函数功能:返回当前文件 ...
最新文章
- java下输出中文的一点研究
- 经典面试题: 为啥 ConcurrentHashMap 读操作不需要加锁?
- 几行代码就搞定高端大气的云系统架构图
- 关于鸿蒙 2.0,那些开发者不知道的一切
- PHP面试题:请说明 PHP 中传值与传引用的区别。什么时候传值什么时候传引用?
- 使用jQuery清空file文件域的解决方案
- mysql动静分离_haproxy的web服务负载均衡、动静分离、 MySQL服务负载均衡、状态监控...
- 小谈Online-game服务器端设计(3)
- C++ 最大堆最小堆与push_heap pop_heap
- php中对数组进行转码,php实现转码的方式(支持数组类型转码)
- Vulnerable Javascript library
- 基于MapGuide的在线WebGIS站点介绍
- 镁客网每周硬科技领域投融资汇总(10.21-10.27),AI芯片创企Syntiant获英特尔等头部企业投资...
- 保护眼睛颜色的RGB数值
- 【VMCloud云平台】SCAP(三)初始配置
- 机器学习的几个重要问题
- carplay是否可以用安卓系统_苹果CarPlay系统是什么?安卓系统手机能用吗?
- vim 从嫌弃到依赖(14)——快速跳转
- 带有三角函数的计算机,三角函数计算器
- 位运算实现加减乘除四则运算
热门文章
- linux系统出现BUG:softlockup- CPU#0 STUCK FOR 23s 或 rcu_sched self-detected stall on cpu 等字样的解决办法
- [音乐] 逆转裁判第二季 OP『Nеvеr Losе』
- 2017年的Microsoft Imagine Cup提供的免费Azure申请及使用方法
- 003_创建simulink文件
- python爬虫01-get请求,post请求,参数拼接,re正则解析,bs解析,xpath解析xml及html文件,requests进阶模拟登录,反盗链zhuanqu,代理
- 关于locale的设定
- 算法竞赛入门经典-第五章错位输出
- 十二烷基-β-D-麦芽糖苷/CAS号: 69227-93-6
- cannot read property 'options' of underfined
- html怎么设置一个banner图像,css如何设置banner图自适应