在有十个元素的数组里,随机挑选一个值,但是每次挑选的值是不一样的
即下标是不一样的
应该如何做呢?

解决方案 »

  1.   

    int a[10] ; //你的数组
    int b[10] ; //放随即出来的下标
    for (int i = 0 ;i < 10;i++)
    {
      int t = rand(10) ;
      for ( int j = 0 ; j < i ; j ++ )
      {
        if ( t == b[j] ) 
        {
          t++ ;    //或者t+=2什么的,总之换一个t试试,没必要再随机一次t
          j = -1 ; //为使下次运行时候j=0
        }
      }
      b[j] = t ;
    }
    最后b里放的使0~9的随机不重复数字,用a[b[i]]就能做到你说的了
    大概就这个意思,没调试,循环中的<是不是应该<=忘了,效率低但比较好懂,n大的时候无用