vc中產生隨機數

whatday發表於2013-05-02
使用rand函式獲得隨機數。rand函式返回的隨機數在0-RAND_MAX(32767)之間。

    例子:

  /* 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>
    
    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() );
    } 

 在呼叫這個函式前,最好先呼叫srand函式,如srand( (unsigned)time( NULL ) ),這樣可以每次產生的隨機數序列不同。
 如果要實現類似0-1之間的函式,可以如下: 

  double randf()
    {
     return (double)(rand()/(double)RAND_MAX);
    }

如果要實現類似Turbo C的random函式,可以如下:

  int random(int number)
    {
     return (int)(number/(float)RAND_MAX * rand());
    }


相關文章