c语言随机数毫秒变化,C语言随机数生成
C语言/C++产生随机数要用到的是rand()函数,srand()函数,C语言/C++里没有自带的random(int number)函数。
先从程序上去认识吧。
#include
#include
#include
#define random(x) (rand()%x)
main()
{
int length, i;
int wait;
int array[10]; // 定义一个数组
srand(time(NULL)); // 让每次产生的随机数都不一样
length = sizeof(array) / sizeof(array[0]);
// 给数组赋值
for(i = 0; i < 10; i++)
array[i] = random(100);
// 输出数组
for(i = 0; i < 10; i++)
printf("%d\n", array[i]);
printf("%d", length);
scanf("%d", &wait);
}
C语言中和生成随机数有关的两个函数是 srand(),rand(),包含在头文件stdlib.h中
让每次执行所生成的随机数都不一样
void srand( unsigned seed );
函数srand()用来设置rand()产生随机数时的随机数种子。参数seed必须是个整数,通常可以利用time(0)的返回值来当做seed。如果每次seed都设相同值,rand()所产生的随机数值每次就会一样。
int rand()
函数srand接受一个无符号的参数,为rand设置随机数种子。
rand()会返回一随机数值,范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h,其值为2147483647。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。
典型用法:
srand(time(NULL));
for( i = 0; i < 10; i++ )
printf( "Random number #%d: %d\n", i, rand() );
这样因为每次设置的种子不同,所以多次运行时,不会产生相同的随机数。
然而下面代码,多次运行时,产生的随机数是完全相同的。
srand(100);
for(int i = 0; i < 10; i++ )
printf( "Random number #%d: %d\n", i, rand() );
生成随机数的一些程序参考
如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值,范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h,其值为2147483647。
例如:
#include
#include
void main()
{
for(int i=0;i<10;i+)
printf("%d\n",rand());
}
如果你要随机生成一个在一定范围的数,你可以在宏定义中定义一个random(int number)函数,然后在main()里面直接调用random()函数:
#include
#include
#define random(x) (rand()%x)
void main()
{
for(int x=0;x<10;x++)
printf("%d\n",random(100));
}
但是上面两个例子所生成的随机数都只能是一次性的,如果你第二次运行的时候输出结果仍和第一次一样。这与srand()函数有关。srand()用来设置rand()产生随机数时的随机数种子。在调用rand()函数产生随机数前,必须先利用srand()设好随机数种子(seed), 如果未设随机数种子, rand()在调用时会自动设随机数种子为1。上面的两个例子就是因为没有设置随机数种子,每次随机数种子都自动设成相同值1 ,进而导致rand()所产生的随机数值都一样。
srand()函数定义 : void srand (unsigned int seed); 通常可以利用geypid()或time(0)的返回值来当做seed,如果你用time(0)的话,要加入头文件#include
#include
#include
#include
#define random(x) (rand()%x)
void main()
{
srand((int)time(0));
for(int x=0;x<10;x++)
printf("%d\n",random(100));
}
c语言随机数毫秒变化,C语言随机数生成相关推荐
- c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?
实际上没有A语言叫法. B语言 B语言是贝尔实验室的计算机先驱Ken Thompson 和 Dennis Ritchied与1969年设计开发.他们的主要其他功绩还有Unix操作系统和C语言.可以说C ...
- C语言编写猜数字游戏及随机数生成方法
C语言编写猜数字游戏及随机数生成方法 文章目录 C语言编写猜数字游戏及随机数生成方法 前言 一.猜数字小游戏 内容: 步骤: 代码的实现: 二.随机数生成的方法 总结 前言 对于C语言初学者来说,当我 ...
- c语言中有关随机数的程序,C语言中随机数相关问题
用C语言产生随机数重要用到rand函数.srand函数.及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明. int rand(void);//生成一个随机数 voidsrand ...
- C语言随机数:rand()和srand(time(NULL))的使用
C语言随机数 rand()简介 srand()简介 使用 rand()简介 使用该函数首先应在开头包含头文件<stdlib.h> #include<stdlib.h> //(C ...
- android 正态分布曲线图,逼迫学习1:R语言随机数、正态分布、密度曲线、QQ图
我最近开了一个知识星球,美名其曰[数据小兵成长计划],每周或每月发布具体的学习计划,在星球内立帖为证,以学习成果为标志结束计划,学习过程如果遇到疑问,可以在星球内提问寻求帮助,直到完成. 我把它称之为 ...
- 生成随机数c 语言,C 语言随机数生成器的实现分析
(点击上方公众号,可快速关注) 如需转载,发送「转载」二字查看说明 本文是为了记录和澄清一个由来已久的关于C语言随机数生成器的误解. 目前所看到的所有公开的关于C随机数生成器的中文资料,都提到经典的线 ...
- C语言随机数的产生(rand、srand、time函数细节讲解)
✨C语言随机数的产生 随机数生成代码: rand函数: srand函数: time函数: time函数补充: time_t类型讨论 time_t指针传入的讨论: 随机数生成代码: 先上代码,再详细解释 ...
- rand-C语言随机数范围
rand() C语言随机数范围 1.简介 rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的. rand()会 ...
- C语言习题:猜数字游戏(C语言随机数)
C语言习题:猜数字游戏(C语言随机数) 需要了解C语言随机数的生成方法: 在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同 ...
最新文章
- 鸟哥linux私房菜第6章笔记
- #ifdef ...#else...#endif等条件编译用法
- 监听应用是否切到后台
- Python小技巧——快速给大量文件命名
- Oracle应用开发手记
- CodeForces - 1350C Orac and LCM(数论)
- cisco初级随堂笔记2
- C++原子性实现无锁队列
- ubuntu linux打印系统时间
- Am335x SD卡 启动制作
- mysql解题器_mysql触发器,答题记录表同步教学跟踪(用户列表)
- 软件测试三分钟自我介绍
- 二进制乘除法运算原理
- Process finished with exit code -1073740791(0xC0000409)
- HTTP协议与HTTPS协议的区别
- MoviePy中文乱码的原因以及解决办法
- MySQL 第六章
- (6)关于整型short、int、long和long long
- Java就业前景如何?
- python tkinter Button的使用