C语言中rand的应用

王朝c/c++·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

=======================================

例子1:

#include <stdlib.h>

#include <stdio.h>

int main(void)

{

int i;

printf("Ten random numbers from 0 to 99\n\n");

for(i=0; i<10; i++)

printf("%d\n", rand() % 100);

return 0;

}

====================================

例子2:

以下是MSDN的一个例子:

// crt_rand.c

/* This program seeds the random-number generator

* with the time, then displays 10 random integers.

*/

#include <stdlib.h>

#include <stdio.h>

#include <time.h>

int 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() );

}

==============================

例子1:

产生的随机数每次都是一样的,在单个程序里运行,如:for循环,每次循环的值还是不一样.

只是再运行这个程序的话,和前一次一样.

例子2:

产生的随机数是不一样的.为什么呢?

那里不是有英文帮助吗?

srand( (unsigned)time( NULL ) );

就是给随机数产生一个seed,我们就叫他种子吧.

time的值每时每刻都不同.

所以种子不同,所以...产生的随机数也不同..

就这个道理.

在C语言里调用rand之前,最好用一人srand(int x);

that's all

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航