C语言 随机数

time、rand、srand

#include <time.h>
time_t time(time_t *t);

功能:获取当前系统时间

参数:常设置为NULL

返回值:当前系统时间, time_t 相当于long类型,单位为毫秒


#include <stdlib.h>
void srand(unsigned int seed);

功能:用来设置rand()产生随机数时的随机种子

参数:如果每次seed相等,rand()产生随机数相等

返回值:无


#include <stdlib.h>
int rand(void);

功能:返回一个随机数值

参数:无

返回值:随机数

案例

#include <stdio.h>
#include <time.h>
#include <stdlib.h> int main()
{
time_t tm = time(NULL);//得到系统时间
srand((unsigned int)tm);//随机种子只需要设置一次即可 int r = rand();
printf("r = %d\n", r); return ;
}

使用案例

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h> int main(void)
{
// 添加随机数种子
srand((size_t)time(NULL));
for (size_t i = ; i < ; i++)
{
// 输出一个随机数
// 获取0-99:rand()%100
// 获取50-100:rand()%51+50
printf("%d\n", rand()%);
}
return ;
}

使用案例:输出随机数

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>
#include <time.h> int main(void)
{
// 双色球 6个红球 1-32、1个蓝球 1-16
srand((size_t)time(NULL));
int arr[] = { };
int value = ;
int flag = ;
int j;
// 取红球
for (int i = ; i < ; i++)
{
value = rand() % + ;
// 去重
for (j = ; j < flag; j++)
{
if (value==arr[j])
{
i--;
break;
}
}
// 加入数组
if (j==flag)
{
arr[flag] = value;
flag++;
}
}
// 输出结果
for (int i = ; i < ; i++)
{
printf("%d ", arr[i]);
}
// 取蓝球
printf("+ %d\n", rand() % + );
return ;
}

使用案例:双色球

C语言 time、rand、srand的更多相关文章

  1. C++随机数rand(), srand()

    c++产生随机数会用到rand(), srand()函数,下面总结两个函数特性和使用. 1. rand() #include <iostream> #include <cstdlib ...

  2. 用C语言的rand()和srand()产生伪随机数的方法总结

    标准库<cstdlib>(被包含于<iostream>中)提供两个帮助生成伪随机数的函数: 函数一:int rand(void):从srand (seed)中指定的seed开始 ...

  3. 【转】随机函数 rand() srand() 以及seed的原理

    from:http://blog.csdn.net/feige2008/article/details/6943885   标准库<cstdlib>(被包含于<iostream> ...

  4. C/C++中产生随机数(rand,srand用法)

    计算机的随机数都是由伪随机数,即是由小M多项式序列生成的,其中产生每个小序列都有一个初始值,即随机种子.(注意: 小M多项式序列的周期是65535,即每次利用一个随机种子生成的随机数的周期是65535 ...

  5. rand srand

    题外:先定义一个指针变量int *a; 再将整数b的地址赋给指针变量 a=&b ;    谨记指针变量a只是地址 *a相当于整数 之后*a 就可以表示 指向b了 也可以在定义的时候初始化 in ...

  6. 数据结构及算法篇bsearch crypt lfind lsearch qsort rand srand

    crypt(将密码或数据编码) 相关函数 getpass 表头文件 #define _XOPEN_SOURCE #include<unistd.h> 定义函数 char * crypt ( ...

  7. 随机数的生成 - rand(), srand()

    2017-08-20  17:43:29 writer:pprp 我们采用随机数可以对我们的算法进行大数据检验 /* name : 简单的随机数生成算法 writer : pprp declare : ...

  8. c语言用rand() 函数,实现random(int m)

    函数rand()是真正的随机数生成器.而srand()会设置供rand()使用的随机数种子. 假设你在第一次调用rand()之前没有调用srand(),那么系统会为你自己主动调用srand(). 注意 ...

  9. c++ rand && srand 函数

    RAND: 结构:rand()     注:rand()不需要参数,它会根据种子返回一个从0到最大随机数的任意整数. 作用:生成一个随机数. 头文件:#include <cstdlib> ...

  10. rand()与 srand()

    一   头文件 <time.h> srand()就是给rand()提供种子seed. 在C语言中,srand()与rand()是随机函数,其中srand函数是伪随机数发生器的初始化函数,原 ...

随机推荐

  1. KafkaUtils.createDirectStream报错Cannot resolve symbol createDirectStream

    一开以为是自己导包导错了,但是对比了一下之前的程序发现并没有错, import org.apache.spark.streaming.kafka.{HasOffsetRanges, KafkaUtil ...

  2. RabbitMQ+PHP教程

    RabbitMQ+PHP 教程一(Hello World) RabbitMQ+PHP 教程二(Work Queues) RabbitMQ+PHP 教程三(Publish/Subscribe) Rabb ...

  3. opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置

    在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...

  4. linux学习笔记1:无操作系统时LED驱动

  5. Django 初试水(一)

    2020年注定是一个不平凡的一年!坚持就是胜利,一起加油! 至于为什么使用 Django,也不想说太多.个人喜欢,这里不做介绍.直接进入主题.show me the code!!! python 的环 ...

  6. python3练习100题——020

    原题链接:http://www.runoob.com/python/python-exercise-example20.html 题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半:再落下 ...

  7. AE(ArcGIS Engine)的安装与配置(附加ArcGIS安装及所需安装包)

    https://blog.csdn.net/qq_38281942/article/details/82534279

  8. php & c# DES

    php <?php class DES { var $key; var $iv; //偏移量 function DES($key = '11001100', $iv=0 ) { //key长度8 ...

  9. vga显示原理即相关计算

    行扫描周期:完成一行扫描所需时间: 行时序时间(a,b,c,d,e):完成一个像素点显示得时间 场扫描周期:完成所有行(一帧扫描所需时间) 场时序时间(o,p,q,r,s):完成一行显示得时间,一个完 ...

  10. Java数据处理,Map中数据转double并取小数点后两位

    BigDecimal order = (BigDecimal) map.get("finishrat"); double d = (order == null ? 0 : orde ...