C++ rand函数怎么用,头文件应包括什么
使用rand函数时头文件应该包括stdlib.h,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。
扩展资料:
使用rand()和srand()产生指定范围内的随机整数的方法,“模除+加法”的方法因为,对于任意数,0<=rand()%(n-m+1)<=n-m,因此,0+m<=rand()%(n-m+1)+m<=n-m+m,因此,如要产生[m,n]范围内的随机数num,可用:
int num=rand()%(n-m+1)+m。其中的rand()%(n-m+1)+m算是一个公式,记录一下方便以后查阅。比如产生10~30的随机整数:srand(time(0)),int a = rand() % (21)+10。
使用rand函数时头文件应该包括stdlib.h
函数原型:int rand (void);
返回值 : 介于0 和RAND_MAX.之间的随机数。
例子:
#include <stdio.h> /* printf, scanf, puts, NULL */
#include <stdlib.h> /* srand, rand */
#include <time.h> /* time */
int main ()
{
int iSecret, iGuess;
/* initialize random seed: */
srand (time(NULL));
/* generate secret number between 1 and 10: */
iSecret = rand() % 10 + 1;
do {
printf ("Guess the number (1 to 10): ");
scanf ("%d",&iGuess);
if (iSecret<iGuess) puts ("The secret number is lower");
else if (iSecret>iGuess) puts ("The secret number is higher");
} while (iSecret!=iGuess);
puts ("Congratulations!");
return 0;
}
* with the time, then displays 10 random integers.
*/
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
void main( void )
{
int i;
/* Seed the random-number generator with current time so that
* the numbers will be different every time we run.
*/
srand( (unsigned)time( NULL ) );
/* Display 10 numbers. */
for( i = 0; i < 10;i++ )
printf( " %6d\n", rand() );
}