srand

srand函数是随机数发生器的初始化函数。原型:void srand(unsigned int seed);
外文名
srand
含    义
随机数发生器的初始化函数
属    性
函数
原    型
void srand(unsigned int seed);
用    途
编程

目录

  1. 1 函数用法
  2. 2 使用举例

函数用法

srand和rand()配合使用产生伪随机数序列。rand函数在产生随机数前,需要系统提供的生成伪随机数序列的种子,rand根据这个种子的值产生一系列随机数。如果系统提供的种子没有变化,每次调用rand函数生成的伪随机数序列都是一样的。srand(unsigned seed)通过参数seed改变系统提供的种子值,从而可以使得每次调用rand函数生成的伪随机数序列不同,从而实现真正意义上的“随机”。通常可以利用系统时间来改变系统的种子值,即srand(time(NULL)),可以为rand函数提供不同的种子值,进而产生不同的随机数序列

使用举例

随机输出十个0-100之间的整数
例1(C语言)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<stdlib.h>/*用到了srand函数,所以要有这个头文件*/
#include<stdio.h>
#define MAX 10
  
int main(void)
{
int number[MAX] = {0};
int i;
unsigned int seed;
scanf("%d",&seed);/*手动输入种子*/
srand(seed);
for(i = 0; i < MAX; i++)
{
number[i] = rand() % 100;/*产生100以内的随机整数*/
printf("%d",number[i]);
}
printf("\n");
return 0;
}

例2(C语言)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include<stdlib.h>
#include<stdio.h>
#include<time.h>/*用到了time函数,所以要有这个头文件*/
#define MAX 10
  
int main(void)
{
int number[MAX] = {0};
int i;
srand((unsigned)time(NULL));/*播种子*/
for(i = 0; i < MAX; i++)
{
number[i] = rand() % 100;/*产生100以内的随机整数*/
printf("%d",number[i]);
}
printf("\n");
return 0;
}

例3(C++)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
#include<ctime>
#include<cstdlib>
using namespace std;
double random(double,double);
  
int main()
{
srand( unsigned( time(0) ) );//srand(time(NULL));
for(int j = 0; j < 10; j++)
cout << "No." << j+1 << ":" << int(random(0,10)) << endl;
return 0;
}
double random(double start,double end)
{
return start + (end - start) * rand() / (RAND_MAX + 1.0);
}
//从此处采取点斜式子,将返回值范围限定至0-9//的整数,倘若要生成10,(RAND_MAX+1.0)改成(RAND_MAX)
/*运行结果
*No.1:3
*No.2:9
*No.3:0
*No.4:9
*No.5:5
*No.6:6
*No.7:9
*No.8:2
*No.9:9
*No.10:6*/

linux C之srand函数相关推荐

  1. linux c语言内核函数手册,Linux C函数实例速查手册

    函数学习目录: 第1章 初级I/O函数 1.1 close函数:关闭已经打开的文件 1.2 creat函数:创建一个文件 1.3 dup函数:复制文件描述符 1.4 dup2函数:复制文件描述符到指定 ...

  2. linux awk 内置函数详细介绍(实例)

    原文地址为: linux awk 内置函数详细介绍(实例) 这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中 ...

  3. C++:rand()函数和srand()函数解读

    (1)srand(unsigned int t)这个是设定种子. 因为电脑取随机数是伪随机,只要种子一样,则取出来的数一定一样. 这里用time(0)这个内函数,copy则是返回了当前的时间值. 这个 ...

  4. sleep头文件linux,Linux下的sleep函数 要用的话得包涵什么头文件啊?

    Linux下的sleep函数 要用的话得需要#include sleep把进程的运行状态改为睡眠,将其从系统可执行队列去掉,这样系统就不会调度到该进程,不会分配CPU时间片,同时根据该进程的睡眠时间, ...

  5. linux中进程退出函数:exit()和_exit()的区别

    linux中进程退出函数:exit()和_exit()的区别 (1)_exit()执行后立即返回给内核,而exit()要先执行一些清除操作,然后将控制权交给内核. (2)调用_exit函数时,其会关闭 ...

  6. Linux系统中的函数

    Linux系统中的函数: 一.进程控制 fork 创建一个新进程 clone 按指定条件创建子进程 execve 运行可执行文件 exit 中止进程 _exit 立即中止当前进程 getdtables ...

  7. Linux编程下open()函数的用法

    Linux编程下open()函数的用法 open(打开文件)  相关函数:  read,write,fcntl,close,link,stat,umask,unlink,fopen 表头文件 : #i ...

  8. Linux的shell脚本函数教程

    Linux的shell脚本函数教程 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.shell中函数使用示例 一.shell介绍 二.shell函数的介绍 三.函数的定义 四.she ...

  9. linux send与recv函数详解

    linux send与recv函数详解 1 #include <sys/socket.h> 2 ssize_t recv(int sockfd, void *buff, size_t nb ...

  10. linux编程之pthread_create函数

    linux编程之pthread_create函数UNIX环境创建线程函数, 具体格式: #include<pthread.h> int pthread_create(pthread_t * ...

最新文章

  1. docker存储卷篇
  2. ASP.Net网站开发的单元测试方案
  3. 与Henrik Feldt谈论Suave 1.0
  4. 黑马程序员Linux系统开发视频之VIM使用教程
  5. 重磅!6.7亿美元!F5喜提开源服务器Nginx
  6. SonarQube4.4+Jenkins进行代码检查实例之二
  7. JZOJ 5905. 【NOIP2018模拟10.15】黑暗之魂(darksoul)
  8. C 之父:C 的成功属于意料之外,C 11是转折点
  9. 弹性伸缩Auto Scaling产品全面升级,轻松应对业务负载变化,张弛有度,收放自如!...
  10. 阿里云服务器部署GeoServer以及跨域处理
  11. idea 中vim快捷键
  12. Linux教程+操作系统教程
  13. android 无法播放mp3文件夹,Android Assets文件夹中的Mp3音频无法通过签名...
  14. linux添加字体库
  15. Python3开发 语法(四)
  16. 乡村少年宫计算机教师简介,乡村少年宫教师感言
  17. 工业级交换机级联介绍
  18. Unity中自制Animation+播放完毕相应事件
  19. HP-UX 基本命令学习
  20. 通过源码理解 vue beforecreated 周期与 created 周期之间发生了什么

热门文章

  1. SVA序列表达式操作符(intersect、within、throughout、first_match、matched)
  2. audio autoplay无效的问题
  3. Liunx下Intel无线网卡驱动安装
  4. Android实现头像上传至数据库与保存 简易新闻(十七 上)
  5. 自信转运--《奇迹男孩》
  6. 文件管理服务器win7,Win7如何取得文件管理所有权
  7. 脚本小子_Lua数据类型
  8. jQWidgets v8.0.0正式发布
  9. ajax提交验证非空,5.验证用户名是否已经被注册:AJAXC请求
  10. Torch常用函数详解T