现在的位置: 首页 > 综合 > 正文

随机数

2013年09月06日 ⁄ 综合 ⁄ 共 956字 ⁄ 字号 评论关闭

C / C++语言中

rand()  
每次产生的随机数一样

int rand( void );

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

  printf("\n");

  // Usually, you will want to generate a number in a specific range,
  // such as 0 to 100, like this:
  {
     int RANGE_MIN = 0;
     int RANGE_MAX = 100;
     for (i = 0;    i < 10; i++ )
      {
         int rand100 = (((double) rand() / 
                         (double) RAND_MAX) * RANGE_MAX + RANGE_MIN);
         printf( "  %6d\n", rand100);
      }
  }
}

srand()          可使每次产生的随机数不同,和rand连用

#include <iostream>
#include <stdlib.h>
#include <time.h>
using namespace std;

int main()
{

	srand((unsigned)time(NULL)); //初始化随机数种子
	for ( int i = 0; i < 10; i ++ )         //产生10个随机数
	{
		cout << rand()%10 << endl;
	}

	return 0;
}

Objective-C语言中


arc4random()        比较精确不需要生成随即种子

使用方法:

arc4random()                                //随机产生任何数
arc4random()%x                           //产生0~x之间的随机数
(arc4random()%x )+1                  //产生1~x之间的随机数

random()               需要初始化时设置种子

使用方法:

srandom((unsigned int)time(time_t *)NULL); //初始化时,设置下种子就好了。

抱歉!评论已关闭.