<form name="ra">
請輸入隨機數的個數: <input name="nd" type="text" />
<input type="button" value="提交生成" onclick="r();" />
</form>
<script language="javascript">
function r(){
 var x,i,j,t,k;
 k=1;
 var order=new Array(x);
 x=ra.nd.value;
 order[0]=Math.floor(Math.random()*60+10);
 for(i=1;i<x;i++)
 {order[i]=Math.floor(Math.random()*60+10);
 while (order[i-1]==order[i])
     {i--;}
 }
document.write("剛產生的原始隨機數:"+order+"<br />");for(i=0;i<x-1;i++){
 for(j=0;j<x-1-i;j++){
   if(order[j]>order[j+1]){
    t=order[j];order[j]=order[j+1];order[j+1]=t;
   }
  } 
 }
document.write("經過編排後的隨機數:"+order+"<br />");
}
</script>

解决方案 »

  1.   

    Math.random()--伪随机--有重复的
      

  2.   

    先謝謝了。。但改了之後沒法輸出。。能改隨機函數那小段麼。。讓小弟見識一下..
    那個random 在C語言中就可以。
      

  3.   

    见笑了^_^<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>新建网页 1</title>
    </head><body>
    <form name="ra"> 
    請輸入隨機數的個數: <input name="nd" type="text" /> 
    <input type="button" value="提交生成" onclick="r();" /> 
    </form> 
    <script language="javascript"> 
    function r(){ 
    var x,i,j,k,str="",t; 
    k=1; 
    str=""
    var order=[]; 
    x=ra.nd.value; 
    t=Math.floor(Math.random()*60+10)
    str+=t+","
    order[0]=t
    for(i=1;i <x;i++){
    while (str.indexOf(t)!=-1)
    t=Math.floor(Math.random()*60+10); 
    str+=t+","
    order[i]= t

    document.write("剛產生的原始隨機數:"+order+" <br />"); for(i=0;i <x-1;i++){ 
    for(j=0;j <x-1-i;j++){ 
      if(order[j]>order[j+1]){ 
        t=order[j];order[j]=order[j+1];order[j+1]=t; 
      } 
      } 

    document.write("經過編排後的隨機數:"+order+" <br />"); 

    </script>
    </body></html>