我想随机生成100个数据,每个数据中包括high,width,long三个值。请问代码如何实现!谢谢!!

解决方案 »

  1.   

    srand( (unsigned)time( NULL ) );
    int value = rand()%1000;这个1000表示随机数的范围是0~999之间
      

  2.   

    三个值都是double的就行,能不能给出代码?谢谢
      

  3.   

    ///如果我们的最大只限定为100
    void get(unsigned vhigh[100], unsigned vwidth[100], unsigned vlong[100], unsigned max = 500)
    {
       srand( (unsigned)time( NULL ) );///初始化随机数发生器
       for(int i =0 ; i < 100; i++)
       {
           vhigh[i] = rand() / (max - 1) + 1;//这样可以防止等于零
           vwidth[i] = rand() / (max - 1) + 1;//这样可以防止等于零
           vlong[i] = rand() / (max - 1) + 1;//这样可以防止等于零
       }
    }
      

  4.   

    ///如果我们的最大只限定为100
    void get(unsigned vhigh[100], unsigned vwidth[100], unsigned vlong[100], unsigned max = 500)
    {
       srand( (unsigned)time( NULL ) );///初始化随机数发生器
       for(int i =0 ; i < 100; i++)
       {
           vhigh[i] = rand() % (max - 1) + 1;//这样可以防止等于零
           vwidth[i] = rand() % (max - 1) + 1;//这样可以防止等于零
           vlong[i] = rand() % (max - 1) + 1;//这样可以防止等于零
       }
    }
      

  5.   

    ///如果我们的最大只限定为100
    void get(double vhigh[100], double vwidth[100], double vlong[100], unsigned max = 500)
    {
       srand( (unsigned)time( NULL ) );///初始化随机数发生器
       for(int i =0 ; i < 100; i++)
       {
           vhigh[i] = rand() % (max - 1) + 1;//这样可以防止等于零
           vwidth[i] = rand() % (max - 1) + 1;//这样可以防止等于零
           vlong[i] = rand() % (max - 1) + 1;//这样可以防止等于零
       }
    }
      

  6.   

    srand( (unsigned)time( NULL ) );

    typedef struct value
    {
       double width;
       double height;
       double length;
    }VALUE; const int count = 100;
    VALUE v[count];
    for(int i=0; i<count; i++)
    {
    v[i].width = (rand()+1)/(float)(rand()%10+1);
    v[i].height = (rand()+1)/(float)(rand()%10+1);
    v[i].length = (rand()+1)/(float)(rand()%10+1);
    TRACE3("width=%.2f,height=%.2f,length=%.2f\n",v[i].width,v[i].height,v[i].length);
    }