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

对上面生成的数组升序排序

第1个回答  2009-04-18
添加了直接运行:
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)
{
//int temp=0;

do
{
//temp = rd.Next(1, 101);
//arr[i] = temp;
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]);
}
}
}本回答被网友采纳
第2个回答  2009-04-18
int[] yourArray=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++)
yourArray[i]=(int)myList[i];

for(int i=yourArray.length-1;i>=0;i--)
{
for(int j=0;j<i;j++){
if(yourArray[j]>yourArray[j+1]){
int temp=yourArray[j];
yourArray[j]=yourArray[j+1];
yourArray[j+1]=temp;}
}
}
第3个回答  2009-04-18
public static int[] getArr(int len){
int[] arr=new int[len];
System.Collections.ArrayList list=new System.Collections.ArrayList(len);
Random rnd=new Random();
int next;
for(int i=0;i<len;i++){
while(list.Contains(next=rnd.Next(1,len+1))){
}
list.Add(next);
arr[i]=next;
}
return arr;
}

...长度为100,并向其中随机插入 1-100 ,并且不能重复
class getRandowArray { public getRandowArray(){ arr = new int[100];} int[] arr;\/\/\/ \/\/\/ 检查数组中是否已存在此数 \/\/\/ \/\/\/ <returns>ture为已存在<\/returns> private bool checkNumber(int arrlist){ for (int i = 0; i < arrlist; ++i){ if (arr[i] == arr[arrlist...

跪求c#asp.net 试题 要求最好是选择题 谢谢
array[i] = array[j] ;array[j] = temp ;}}}9.描述一下C#中索引器的实现过程,是否只能根据数字进行索引?答:不是。可以用任意类型。10.求以下表达式的值,写出您想到的一种或几种实现方法: 1-2+3-4+……+m答:int Num = Convert.ToInt32(this.TextBox1.Text);int Sum = 0 ;for (int i = 0...

用C#编写程序,生成一个长度为100的数组,然后向数组中随机插入1~100之间...
楼上是第一个,结果b数组值为1~100排序的数。下面是第二个,结果数字是随机的,但插入是顺序插入的代码如下:int[] arr = new int[100];Random r = new Random(DateTime.Now.Millisecond);for(int i=0;i<100;i++){ int temp = r.Next(1, 100);while(true){ if (Array.IndexOf(arr...

C#定义一个长度为100的数组,往数组里面随机添加1-100个数,不能重复
rnd=mt_rand(0,99);\/\/mt_rand(val1,val2)函数产生从val1到val2之间的随机整数 tmp=$b[$j];b[$j]=$b[100-$rnd];b[100-$rnd]=$tmp;\/\/以上三行代码交换数组中的两个元素,被替代的元素是$b[$j],替代元素是$b[100-$rnd]} print_r($b); \/\/一个可以直接输出数组的函数,仅仅是...

c#中一个1~100的随机值怎样表示
\/\/c#中一个1~100的随机值产生数据的时候难免会重复,因此要考虑到去重复 \/\/1.产生一个int长度为100数组,\/\/ 2并向其中随机插入1-100,并且不能重复。int [] intnum =new int [100];ArrayList Arraylist = new ArrayList();Random ran = new Random();while (Arraylist.Count<100){ int A ...

C# 如何生成不重复的1-100随机数。
有两种思路:1、随机生成一个1-100的数,然后判断重复,如果重复再生成一次;2、创建一个数组,元素内容为1-100,对元素随机排序。请参考下面的代码 public void GenerateRandomNums(){ List list = new List();Random rand = new Random();int value;while (true){ if (list.Count == 20){ ...

C#写一程序:生成一个随机数,在1-100之间,从键盘输入数字,如果输入的数 ...
using System.Linq;using System.Text;namespace ConsoleApplication2 { class Program { static void Main(string[] args){ while (true){ Console.WriteLine("请输入一个1-100的整数");int a = new Random().Next(1, 100);string s = Console.ReadLine();bool ab=true;foreach (char c in...

C#编写一个方法,去除数组中重复数据。
方法一:先引用 using System.Linq;int[] DelRepeatData(int[] a){ return a.GroupBy(p => p).Select(p => p.Key).ToArray();{ 方法二:如图

C#用timer控件实现1~100随机数抽奖,已经抽中的不参与下一次循环,求代码...
直接Random.Next(1, 101)可产生随机数,用一个List<int>存起来,每次新随机就会去这个List中找,如果找到就再随机,自到随机出新的数。1、放一个TextBox框、要把MultiLine属性改成True。(模拟输出结果)2、放个Timer 3、放个Button。4、定义两个全局对象 int inTimer = 0; \/\/原子锁对象List...

c# 问如何产生100个1-100范围内的数
#region Rnds多个不重复随机整数(指定范围) \/\/\/ 产生int个1到Max之间的整数数组。 public static int[] Rnds(this int 个数, int Max) { return Rnds(个数, 1, Max); } \/\/\/ 产生一个Min到Max的数组,指定int个数(零和负数默认为等于整个区间)。 public static int[] Rnds(this int 个数, int ...

相似回答