
正文
c语言rand函数表达式 c语言rand函数怎么写
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
c语言rand()函数
rand函数功能为获取一个伪随机数。
int rand();所在头文件:stdlib.h
功能:返回一个伪随机数。之所以说是伪随机数,是因为在没有其它操作下,每次执行同一个程序,调用rand得到的随机数序列是固定的(不是真正的“随机”)。
为了使rand的结果更“真”一些,也就是令其返回值更具有随机性(不确定性),C语言在stdlib.h中还提供了srand函数,通过该函数可以设置一个随机数种子,一般用当前时间的毫秒数来做参数。通过time(NULL)可以获取到当前时间的毫秒值(该函数位于time.h)中。
使用rand的流程可以总结为:
1 调用srand(time(NULL))设置随机数种子。
2 调用rand函数获取一个或一系列随机数。
需要注意的是,srand只需要在所有rand调用前,被调用一次即可,没必要调用多次。
以下是随机获取10个整型值并输出的例子,辅助理解。
#include stdio.h
#include stdlib.h
#include time.h
int main()
{ int i;
srand(time(NULL));//设置随机数种子。
for(i = 0; i 10; i ++)//运行10次。
printf("%d\n", rand()%101);//每次获取一个0~100随机整数并输出。
return 0;
}
相关问答
Q1: c语言rand
rand()%90+10:随机产生一个两位数[10,100).
rand()是产生随机数c语言rand函数表达式的函数(rand为randomc语言rand函数表达式的缩写),它产生一个[0,32767)之间一个随机数.
rand()常与srand()一起使用.
srand()是seed_randomc语言rand函数表达式的缩写,seed意思是随机数种子.如果程序中未使用srand()函数.C系统默认为srand(0).如果有以下语句:
for(i=0;i5;i++)
for(j=0;j4;j++)
a[i][j]=rand()%90+10;
则从a[0][0]到a[5][4]c语言rand函数表达式的值都相同.
因此要在for(i=0;i5;i++)之前加上如下语句:
srand ( (unsigned) time (NULL) );
srand()的形参要求是unsigned型,而time()的返回值是长整型,故需强制转换.而time(NULL)返回从1970年0时0分0秒到srand()语句执行时系统时钟所经历的秒数(这个数字很大达千万,故为长整型).
如果c语言rand函数表达式你需要20个60到100的随机数.则可用如下语句实现:
#inlude stdio.h
main()
{int a[20},i;
srand ( (unsigned) time (NULL) );
for(i=0;i20;i++)
{a[i]=rand()%40+60;/*100-60=40*/
printf("%4d",a[i]);
}
}
其实从概律论来分析,用这两个函数产生的随机数并不随机,它们并不符合正态分数.
Q2: C语言 随机函数
i++;是i=i+1;c语言rand函数表达式的缩写,c++之所以后面有++,就是因为有这样的缩写。
rand()是个函数,每次调用会给c语言rand函数表达式你返回一个unsigned int数,即无符号整数,具体这个函数可以百度百科rand(),返回的数用伪随机算法,在c语言rand函数表达式你看起来是随机变化的,范围在0~4294967295之间
%是c++的整数运算符,如果写a%b就是求a除以b以后的余数
rand()生成的数大于0~100之间的范围,rand()%100就会生成在0~99之间的随机整数
由于题目要求生成1~100之间的整数,所以用表达式rand()%100+1
如果想生成[0~3000)的随机数可以用表达式rand()%3000
如果想生成[a,b]范围的随机数,可以用表达式rand()%(b-a+1)+a来生成
比如要生成10~20之间的随机数,包含10和20在内,那么表达式是rand()%(20-10+1)+10
Q3: C语言中的rand()函数怎么用
rand()
rand()函数用来产生随机数,但是,rand()的内部实现是用线性同余法实现的,是伪随机数,由于周期较长,因此在一定范围内可以看成是随机的。
rand()会返回一个范围在0到RAND_MAX(至少是32767)之间的伪随机数(整数)。
在调用rand()函数之前,可以使用srand()函数设置随机数种子,如果没有设置随机数种子,rand()函数在调用时,自动设计随机数种子为1。随机种子相同,每次产生的随机数也会相同。
rand()函数需要的头文件是:stdlib.h
rand()函数原型:int rand(void);
使用rand()函数产生1-100以内的随机整数:int number1 = rand() % 100+1。
srand()
srand()函数需要的头文件仍然是:stdlib.h
srand()函数原型:void srand (usigned int seed);
srand()用来设置rand()产生随机数时的随机数种子。参数seed是整数,通常可以利用time(0)或getpid(0)的返回值作为seed。
使用rand()和srand()产生1-100以内的随机整数:
srand(time(0));
int number1 = rand() % 100+1。
关于c语言rand函数表达式和c语言rand函数怎么写的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。







