c语言随机坐标函数,c语言随机数生成函数和时间函数
c语言随机数生成函数和时间函数
c语言随机数生成函数和时间函数是如何生成的呢?小编为大家揭秘来了。更多内容请关注应届毕业生考试网!
一 随机数生成函数(rand,srand)
1)首先,随机数在stdlib.h定义了一个RAND_MAX的宏#define RAND_MAX 0x7fff,也就是不调用srand,只进行rand的话,返回一个[0,32767]的数(闭区间)。
2)随机数种子
void srand(unsigned seed);
如果在rand()前没有调用它,会自动调用一次srand(1)一次。但seed就成了定值,每次运行程序时,产生的随机数都会相同(这个值在[seed,0x32767]之间)。
例如:
#include
#include
int main()
{
int i,j;
i = rand();
j = rand();
printf("%d %d\n",i,j);
return 0;
}
这个程序每次结果都是:14 18767
所以一般用一个变量作为seed,一般用到目前为止流逝的时间。
即srand((unsigned int)time(NULL));
3)随机数范围
rand()返回一个0~RAND_MAX的随机数,一般这个不是你想得到的数据范围,需要进行调整,比较常用的是'%'和'/'操作,如果需要一个0~100的随机数那么就rand()0好了,很容易理解。如果你需要一个浮点数,可以考虑用除法,注意运算时的数据转换操作,rand()返回的'是整数,RAND_MAX也是整数,如果你想得到一个0到1的浮点数,你这样写rand()/RAND_MAX你就大错特错了,这样的结果是0,原因仔细想想也很简答,基本的C语言运算数据类型提升问题,小数部分的尾巴取整的时候舍掉了,解决方法也很简单rand()/(RAND_MAX-0.0),一个产生指定范围随机数的函数大概是这样的:
srand((unsigned int)time(0));
double randval(double low, double high)
{
double val;
val = ((double)(rand()/(RAND_MAX-0.0))*(high - low)) + low;
return(val);
}
c语言中的时间函数:
#include
time_t time(time_t *t);
返回:成功饭后1970年1月1日到现在的所经历的秒数,若t为非空指针,此函数也将返回值存放在t所指向的内存中,失败返回(time_t -1)值,错误在errno中。
例如:
#include
#include
int main()
{
int seconds = time(NULL);
printf("%d\n",seconds);
return 0;
}
这个返回的是秒数而不是正常日期,所以有下面的函数。
#include
char* ctime(const time_t *timep);
返回值:返回正常日期格式的字符串。
这个函数是将timep中存放的time_t类型的变量转换成真实世界的使用的日期表达,然后以字符串形式返回,例如::Wed Jun 30 21:48:09 1999
#include
#include
#include
int main()
{
time_t tm;
tm = time(0);
char *s;
s = ctime(&tm);
printf("%s\n",s);
}
c语言随机坐标函数,c语言随机数生成函数和时间函数相关推荐
- PHP的函数-----生成随机数、日期时间函数
常用的函数 [1] 生成随机数 rand(); 例子: echo rand(); 显示结果: 当刷新时,会有不同的数,默认生成随机数.生成随机数不能控制范围. 如果,想要控制在范围之内,就用: e ...
- r语言之生成随机序列,随机数生成函数及用法
(1)生成正态分布随机数: rnorm(n,mean,sd) 其中,n表示生成的随机数个数,mean表示正态分布均值,sd表示正态分布标准差 > rnorm(5,0,2) [1] -5. ...
- 用c语言随机获区100个整数,用rand() 函数去100 个随机的整数的有关问题
用rand() 函数去100 个随机的整数的问题 int rand100 = (((double) rand() / (double) RAND_MAX) * RANGE_MAX + RANGE_MI ...
- C语言随机刷新,C语言 刷新缓冲区
fflush int fflush(FILE* stream); 用于清空文件缓冲区,如果文件是以写的方式打开 的,则把缓冲区内容写入文件. eg: 1. #include #include int ...
- R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项)、randomSequence函数创建不含重复项的随机序列数据集、创建随机字符串
R语言使用random包生成随机数或者随机字符串实战:randomNumbers函数创建随机整数的数据集(包含重复项).randomSequence函数创建不含重复项的随机序列数据集.创建随机字符串 ...
- C语言生成n个随机坐标,c语言如何生成随机数 怎样用c语言生成n个随机数?
C语言中如何产生很大的随机数?这个可以一个一个的来生成啊,每次生成一个0-9之前的随机数,然后生成几次 组合起来就可以了. C语言 如何连续产生随机数? 如果我想用C在1s的时间内连续产生多个随机数, ...
- c语言随机字符rand,C语言中生产随机数 rand()函数
一:如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间.RAND_MAX定义在stdlib.h, 其值为214748 ...
- c语言不用随机数种子,C语言的随机数与随机种子
引言: 在实际编程中,我们经常会用到随机数这个概念,其实也是一个伪随机数,实际上并不是一个真正的随机数,但是也足够我们使用了.在C语言中,编写一些关于游戏之类的程序时就需要用到随机数了.同时C语言也提 ...
- c语言随机生成5到10,C语言生成随机数
两个步骤:设置种子和返回随机数值.所需头文件:stdlib.h.如果种子欲由时间生成,则还需time.h. 设置种子的函数:srand.用法:void srand ( unsigned int see ...
最新文章
- python入门教程软件-程序员带你十天快速入门Python,玩转电脑软件开发(四)
- python操作excel-python操作excel
- linux下的du命令
- 前端工程化概述||模块化相关规范
- flex vue 垂直居中居上_移动开发-flex 布局
- helm发布自定义Chart:指定namespace、设置NodePort
- 非标准化的阀门企业也在用钉钉宜搭实现数字化转型
- CSS中盒模型的理解
- spring boot添加swagger步骤
- hibernate连接mysql配置文件
- python 多进程multiprocessing 模块
- 你都用python来做什么-你都用Python来做什么?看看网友们的各种牛X操作
- 从零基础入门Tensorflow2.0 ----八、39.3. gpu3
- 实验7 寻址方式在结构化数据访问中的应用
- python求偏度系数_python pandas库和stats库计算偏度和峰度(附程序)
- win7(win10)更改“文件类型显示图标“的终极修改方法
- STM32基础12--数模转换(DAC)
- 1062: 最大公约数 Python
- BAT超级入口“连接”战
- 一些前端大牛都在学习的github库
热门文章
- jquery设置滚动条样式
- 搞掉Windows Media Player后台进程,禁止自动启动
- 深度研究微点主动防御
- Windows 应急响应篇(保姆级检查流程)
- 一次FGC导致CPU飙高的排查过程
- 六十星系之52天机巨门坐卯酉
- HTML 中 id、name、class 区别
- 计算机软件系统由程序和相应的文档组成,全国计算机等级考试一级B考试选择题(计算机软件系统及解析)...
- Resources are low on NN. Please add or free up more resources then turn off safe mode manually.
- mysqladmin: Can't turn off logging; error: 'Access denied; you need the SUPER privilege for this op