天天看点

一道小的.net笔试题

题目:一个长度为100的整形数组,向其中随机插入1-100之间不重复的数字?

方法一、

int[] arr = new int[100];//数组100个元素

for (int i = 1; i <= 100; i++)

arr[i - 1] = i;//顺序赋值1~100

 Random rnd = new Random(Environment.TickCount);//产生一个随机数

//使用随机顺序重排列数组

Array.Sort(arr, (Comparison)delegate(int x, int y)

{

 return rnd.Next();

});

foreach (int i in arr)

 {

     Response.Write(i.ToString()+"<br>");

 }

方法二、

List<int> list = new List<int>();

 int count = 0;

 Random rd = new Random();

 while (count < 100)

      int temp = rd.Next(1, 101);

      if (!list.Contains(temp))

      {

            list.Add(temp);

            count++;

       }

   int[] arr = list.ToArray();

   foreach (int i in arr)

   Console.WriteLine(i);

继续阅读