当前位置:编程学习 > C#/ASP.NET >>

asp.net面试问题

有一个数组 int[] array=new int[100], 把数字1~100随机的存到数组中,不允许重复。 面试 ASP.NET --------------------编程问答-------------------- 一个list中从1到100,random每次取出一个数,放到数组,然后从list中删除,以此循环 --------------------编程问答--------------------
class getRandowArray   {       
public getRandowArray() 
{         
arr = new int[100];    
}      
int[] arr;     
/// <summary>      
/// 检查数组中是否已存在此数     
/// </summary>    
/// <returns>ture为已存在</returns>      
private bool checkNumber(int arrlist)     
{            
for (int i = 0; i < arrlist; ++i)    
{              
 if (arr[i] == arr[arrlist]) 
return true;           
}        
return false; 
}      
/// <summary>       
/// 生成数组        
/// </summary>        
/// <returns>数组</returns>        
public int[] produceRandomArray()        
{            
Random rd=new Random();            
for (int i = 0; i < 100; ++i)            
{                
do                
{                    
arr[i] = rd.Next(1, 101);                

while (checkNumber(i));            
}            
return arr;        
}    
}    
class Program 
{        
static void Main(string[] args)        
{            
getRandowArray produceArr = new getRandowArray();            
int[] arr = produceArr.produceRandomArray();            
for (int i = 0; i < arr.Length; ++i)            
{                
Console.WriteLine(arr[i]);            
}        
}    
}
--------------------编程问答--------------------
引用 1 楼 bdmh 的回复:
一个list中从1到100,random每次取出一个数,放到数组,然后从list中删除,以此循环

顶一把,就是这样
for(1----100,i){
   random.next(0,i)-----取出来的这个数假如是n
   list.removeindex(n);这样就好啦奥
} --------------------编程问答-------------------- 最后达到的效果就是随机排序,那还不如这样直接做:

            var query = from p in Enumerable.Range(1, 100)
                        orderby Guid.NewGuid().ToString()
                        select p;
--------------------编程问答-------------------- http://bbs.csdn.net/topics/390514704

你们面试同一个公司???
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,