C语言中strand()rand()time()函数的简单介绍及获取随机数的方法

更新时间:2023-05-16 07:08:27 阅读: 评论:0

C语⾔中strand()rand()time()函数的简单介绍及获取随机数的⽅法
rand()函数简介
功 能 :伪随机数发⽣器
所属库:stdlib.h
⽤ 法 :需要先调⽤srand初始化,⼀般⽤当前⽇历时间初始化随机数种⼦,这样每⾏代码都可以产⽣不同的随机数。
函数原型:int rand(void);
接下来我们写⼀段代码来获取10个随机数
include <stdio.h>
include <stdlib.h>
杨英豪int main()
{
int i;
printf("输出0-99之间的随机数:\n");
for (i = 0; i<10; i++)
printf("%d ", rand() % 100);
system("pau");
return0;
}
运⾏截图
两次结果相同 程序在每次运⾏时都会产⽣10个伪随机数(为了表明是两次输⼊,第⼆次⽤.来隔开) 如果想要每次⽣成的随机数不同就需要结合接下来要说的srand函数
srand()函数简介
srand函数是随机数发⽣器的初始化函数。
原型:void srand(unsigned ed);
⽤法:它需要提供⼀个种⼦,这个种⼦会对应⼀个随机数,
如果使⽤相同的种⼦, 后⾯的rand() 函数会出现⼀样的随机数。
如: srand(1); 直接使⽤1来初始化种⼦。
下来我们⽤获取随机数⽅法的例⼦来介绍strand()函数:
1、这个代码为我们⾃⼰⼿动输⼊srand()函数的参数ed,我⽤ed=1来举例
运⾏截图
关于time()函数
2、我们可以发现⼿动输⼊参数很可能出现随机数重复,为了防⽌随机数每次重复常常使⽤系统时间
来初始化,接下来就要⽤到time()函数解决
使⽤ time函数来获得系统时间,它的返回值为从 00:00 : 00 GMT, January 1, 1970
到现在所持续的秒数(即从1970年1⽉1⽇的00 : 00 : 00到当前你所处的时间所经过的秒数),
然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned)time(&t));
还有⼀个经常⽤法,(我们经常⽤这个⽅法)不需要定义time_t型t变量, 即: srand((unsigned)time(NULL));
直接传⼊⼀个空指针,因为你的程序中往往并不需要经过参数获得的t数据。
srand((int)getpid());
使⽤程序的ID(getpid())来作为初始化种⼦,在同⼀个程序中这个种⼦是固定的。接下来我们写⼀段代码举例说明:
#include <stdlib.h> //⽤到了srand 函数,所以要有这个头⽂件
#include <stdio.h>
黑胡椒牛柳意面
#include <time.h> //⽤到了time 函数,所以要有这个头⽂件
int  main()
{
君的名字int  arr[10] = { 0 };
生日礼物英文
int  i;
unsigned  int  ed;
scanf("%d", &ed);//⼿动输⼊种⼦
srand(ed);
for  (i = 0; i < 10; i++)
{
arr[i] = rand() % 100; //产⽣100以内的随机整数  接下来我们会介绍到rand 函数
平结printf("%d .", arr[i]);
}
爸爸怎么写system("pau");
return  0;
}
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
int main()
{医德
劳动创造美作文
int arr[10] = { 0 };
int i;
srand((unsigned)time(NULL));//调⽤time函数来获取随机数
for (i = 0; i < 10; i++)
{
arr[i] = rand() % 100;
printf("%d.", arr[i]);
}
system("pau");
return0;
}
运⾏截图
我们发现每次运⾏所产⽣的随机数都不相同,通常采⽤这种⽅法获取随机数

本文发布于:2023-05-16 07:08:27,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/902739.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:函数   需要   参数   时间   获得   系统   介绍
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图