产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

如题所述

int[] intArr = new int[100]; //定义一维数组
ArrayList myList = new ArrayList(); //创建集合对象
Random rnd = new Random(); //创建随机生成器对象
while (myList.Count < 100){ //限制集合中的元素数
int num = rnd.Next(1, 101); //随机生成1到100的数
if (!myList.Contains(num)) //判断集合中是否已经存在
myList.Add(num); //添加到集合中
}
for (int i = 0; i < 100; i++) //遍历一维数组
intArr[i] = (int)myList[i]; //为一维数组赋值
for (int i = 0; i < intArr.Length; i++){ //遍历赋值后的一维数组
Console.Write(intArr[i] + " "); //输出遍历的元素
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-02-24
顺序赋值
再随机找两个数交换值,重复进行50次随机交换
第2个回答  推荐于2018-03-08
int[] intArr=new int[100];
ArrayList myList=new ArrayList();
Random rnd=new Random();
while(myList.Count<100)
{
int num=rnd.Next(1,101);
if(!myList.Contains(num))
myList.Add(num);
}
for(int i=0;i<100;i++)
intArr[i]=(int)myList[i];本回答被提问者和网友采纳
相似回答