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语言随机数生成相关推荐

  1. c语言吗 程序语言,编程语言为什么从c语言开始,那有没有a语言b语言呢?

    实际上没有A语言叫法. B语言 B语言是贝尔实验室的计算机先驱Ken Thompson 和 Dennis Ritchied与1969年设计开发.他们的主要其他功绩还有Unix操作系统和C语言.可以说C ...

  2. C语言编写猜数字游戏及随机数生成方法

    C语言编写猜数字游戏及随机数生成方法 文章目录 C语言编写猜数字游戏及随机数生成方法 前言 一.猜数字小游戏 内容: 步骤: 代码的实现: 二.随机数生成的方法 总结 前言 对于C语言初学者来说,当我 ...

  3. c语言中有关随机数的程序,C语言中随机数相关问题

    用C语言产生随机数重要用到rand函数.srand函数.及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明. int rand(void);//生成一个随机数 voidsrand ...

  4. C语言随机数:rand()和srand(time(NULL))的使用

    C语言随机数 rand()简介 srand()简介 使用 rand()简介 使用该函数首先应在开头包含头文件<stdlib.h> #include<stdlib.h> //(C ...

  5. android 正态分布曲线图,逼迫学习1:R语言随机数、正态分布、密度曲线、QQ图

    我最近开了一个知识星球,美名其曰[数据小兵成长计划],每周或每月发布具体的学习计划,在星球内立帖为证,以学习成果为标志结束计划,学习过程如果遇到疑问,可以在星球内提问寻求帮助,直到完成. 我把它称之为 ...

  6. 生成随机数c 语言,C 语言随机数生成器的实现分析

    (点击上方公众号,可快速关注) 如需转载,发送「转载」二字查看说明 本文是为了记录和澄清一个由来已久的关于C语言随机数生成器的误解. 目前所看到的所有公开的关于C随机数生成器的中文资料,都提到经典的线 ...

  7. C语言随机数的产生(rand、srand、time函数细节讲解)

    ✨C语言随机数的产生 随机数生成代码: rand函数: srand函数: time函数: time函数补充: time_t类型讨论 time_t指针传入的讨论: 随机数生成代码: 先上代码,再详细解释 ...

  8. rand-C语言随机数范围

    rand() C语言随机数范围 1.简介 rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的. rand()会 ...

  9. C语言习题:猜数字游戏(C语言随机数)

    C语言习题:猜数字游戏(C语言随机数) 需要了解C语言随机数的生成方法: 在C语言中比较常用的随机函数是 rand 函数,它可以随机的产生 0 ~ rand_max 的随机数,定义类型不同最大值也不同 ...

最新文章

  1. 鸟哥linux私房菜第6章笔记
  2. #ifdef ...#else...#endif等条件编译用法
  3. 监听应用是否切到后台
  4. Python小技巧——快速给大量文件命名
  5. Oracle应用开发手记
  6. CodeForces - 1350C Orac and LCM(数论)
  7. cisco初级随堂笔记2
  8. C++原子性实现无锁队列
  9. ubuntu linux打印系统时间
  10. Am335x SD卡 启动制作
  11. mysql解题器_mysql触发器,答题记录表同步教学跟踪(用户列表)
  12. 软件测试三分钟自我介绍
  13. 二进制乘除法运算原理
  14. Process finished with exit code -1073740791(0xC0000409)
  15. HTTP协议与HTTPS协议的区别
  16. MoviePy中文乱码的原因以及解决办法
  17. MySQL 第六章
  18. (6)关于整型short、int、long和long long
  19. Java就业前景如何?
  20. python tkinter Button的使用

热门文章

  1. c语言如何实现多线程VC,vc多线程(c++多线程)
  2. 南京师范大学提前面试真题领取
  3. [转]修复windows的启动项:MBRFix工具
  4. 银联前置的一些基本知识
  5. 龙书的资源和目录整理
  6. G++与C++的区别
  7. 关于等保和分保的应了解的
  8. 鱼c论坛 python课后题pdf_全套55讲 鱼c论坛小甲鱼python课后题.pdf
  9. openGauss WDR Snapshot生成性能报告详细解读
  10. Ubuntu安装Burp Suite--史上最详细教程