你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / C专栏
C / C++语言中rand() 每次产生的随机数一样
 

C / C++语言中
rand()   每次产生的随机数一样

int rand( void );

 

[csharp]  #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); 
      } 
  } 

#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连用
[cpp]  #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; 
}<SPAN style="COLOR: #ff0000"> 
</SPAN> 

#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()        比较精确不需要生成随即种子
使用方法:


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

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

 


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

使用方法:


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

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

  推荐精品文章

·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089