rand(计算机语言函数)_摘编百科!
作者:小窍门日期:2023-02-04 18:49:22浏览:分类:饮食搭配
rand()函数是产生随机数的一个随机函数。C语言里还有 srand()函数等。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。srand()称为随机数生成器的初始化器。当提供的种子相同时,随机数序列也是相同的。这样i就是一个真正意义上的随机数。
rand() Function
rand()
产生随机数
Excel
返回值介于[0,1)
详述
(1)使用该函数首先应在开头包含头文件stdlib.h
#include(C++建议使用#include,下同)
(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。
(3)rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数:
printf("Random numbers are: %i %i ",rand(),rand());
(4)因为rand()函数是按指定的顺序来产生整数,因此每次执行上面的语句都打印相同的两个值,所以说C语言的随机并不是真正意义上的随机,有时候也叫伪随机数。
(5)为了使程序在每次执行时都能生成一个新序列的随机值,我们通常通过为随机数生成器提供一粒新的随机种子。函数 srand()(来自stdlib.h)可以为随机数生成器播散种子。只要种子不同rand()函数就会产生不同的随机数序列。srand()称为随机数生成器的初始化器。由运行结果可知,当向 RAND() 函数中传入一个整数作为参数是,RAND() 函数产生的随机数可以重复。[1]
例子
文件名: rand_srand.c
/* This program generates and prints ten random integers between 1 and RAND_MAX*/
#include
#include
int main()
{
unsigned int seed; /*申明初始化器的种子,注意是usigned int 型的*/
int k;
printf("Enter a positive integer seed value: ");
scanf("%u",&seed);
srand(seed);
printf("Random Numbers are: ");
for(k = 1; k <= 10; k++)
{
printf("%i",rand());
printf(" ");
}
return 0;
}
当提供的种子相同时,随机数序列也是相同的。而且当种子为1时,与不使用srand()函数时一样的,也就是说rand()函数默认情况下初始化种子值为1;
在stdlib.h 中这两个函数的原型是:
int rand();
void srand (unsigned int);
srand(time(0)); i=rand();
或者srand(time(null));
这样i就是一个真正意义上的随机数。
rand()产生伪随机数,srand函数提供种子,种子不同产生的随机数序列也不同,所以通常先调用srand函数 time(0)返回的是系统的时间(从1970.1.1午夜算起),单位:秒,种子不同当然产生的随机数相同几率就很小了。
用rand()随机生成在[x,y]内的整数
int k;
k=x+rand()%(y-x+1)/*k即为所求范围内随机生成的数,rand()%a的结果最大为a-1*/
- 上一篇:穷游网(出境旅行服务平台)_摘编百科
- 下一篇:返回列表
猜你还喜欢
- 02-04施小琳(江西省委常委、宣传部部长)_摘编百科
- 10-18酒酿饼的做法_酒酿饼怎么做_酒酿饼的家常做法_老上海
- 12-28红枣银耳莲子汤的做法_红枣银耳莲子汤怎么做_红枣银耳莲子汤的家常做法_邓汉源
- 09-14这几种食物护眼抗疲劳!
- 12-07红烧鲫鱼 的做法_红烧鲫鱼 怎么做_红烧鲫鱼 的家常做法_味莼园
- 12-09芙蓉雪藕的做法_芙蓉雪藕怎么做_芙蓉雪藕的家常做法_心心大厨
- 11-24红烧天九翅的做法_红烧天九翅怎么做_红烧天九翅的家常做法_叶迎海
- 12-09凉拌三丝的做法_凉拌三丝怎么做_凉拌三丝的家常做法_傅铧
- 11-04南瓜蒂的做法_南瓜蒂怎么做_南瓜蒂的家常做法_心心大厨
- 10-11酸菜的腌制方法的做法_酸菜的腌制方法怎么做_酸菜的腌制方法的家常做法_香草冰激凌
- 热门标签
- 热门文章
- 最近发表
- 搜索
-