#include <stdlib.h>
int main ( ) {
int c , n ;
printf ( "Ten random numbers in [1,100]\n" ) ;
for ( c = 1 ; c <= 10 ; c ++ ) {
n = rand ( ) % 100 + 1 ;
printf ( "%d\n" , n ) ;
}
return 0 ;
}
需要注意的一点是,如果仅仅用rand函数,你会发现每次运行,上述程序的输出都是一样的。为什么呢,因为rand每次运行只进行一次seeded,而种子的默认值为1。要避免这种情况,则要使用下面的程序。
#include <time.h>
#include <stdlib.h>
srand(time(NULL));
int r = rand();
要记住,srand()只使用一次。如果
int a = 0;
int b;
for(; a<=10; a++)
{
srand(time(NULL));
b = rand();
}
则会发现b全部是一样的。原因是因为srand每秒钟只运行一次。