在VC++6.0中怎样实现利用随机函数在一定范围(如:1-300)内随机的取数,而且每次取的数都不相同。我想要一段源代码,有哪位能帮忙一下?
如果说想取出来得数是某一范围内的数,但不一定是整数怎么办?

解决方案 »

  1.   

    先定义一个数组,存放1--300;
    然后做一个循环,伪代码:
    for (int i = 300; i > 0; i--)
    {
      int j = rand()%i;
      把数组中的第j条踢掉;
    }
      

  2.   

    CString str;
    str.Format("%d",rand() % 300 + 1);
    MessageBox(str);
      

  3.   

    srand( (unsigned)time( NULL ) );
    double dTemp[300];
    for( i = 0;   i < 300;i++ )
    {
            int j=rand()%90000;
            dTemp[i]=(double)j/300;
    }
            
      

  4.   

    srand( (unsigned)time( NULL ) );
    float fRnd = (float)(rand() % 300) + (float)( rand() / rand() );fRnd 就是随机浮点数(有小数点)。
      

  5.   

    srand( (unsigned)time( NULL ) );
    float fRnd = (float)(rand() % 299) + (float)( rand() % 100 / rand() % 101 );fRnd 就是1-300的随机浮点数(有小数点)。
      

  6.   

    //初始化随机数发生器
    srand( (unsigned)time(NULL) );
    for ( int i=0; i<300; i++ )
    {
       printf( "%d ", rand() % 300 + 1 );
    }