
用c#语言完成:产生三个1~100之间的随机数,按从小到大的顺序排序
3个回答
2015-10-22 · 知道合伙人软件行家
关注

展开全部
class Program
{
static void Main(string[] args)
{
int[] Arr = new int[100];
Random random = new Random();
for (int i = 0; i < Arr.Length; i++)
{
Arr[i] = GetRandomNum(Arr, random);
}
for (int i = 0; i < 1000; i++)
{
//Console.WriteLine(random.Next(101));//这种会产生0-100之间的数,返回一个小于指定数的非负随机数
//Console.WriteLine(random.Next(1,101));//这种会产生1-100之间的数
}
sortArr(Arr, false);
foreach (var item in Arr)
{
Console.WriteLine(item);
}
}
private static int GetRandomNum(int[] Arr, Random random)
{
int tempValue = random.Next(1, 101);
if (Arr.Contains(tempValue))
{
tempValue = GetRandomNum(Arr, random);
}
return tempValue;
}
private static int GetRandomNum2(int[] Arr, Random random)
{
int tempValue = random.Next(1, 100);
while (!Arr.Contains(tempValue))
{
tempValue = random.Next(1, 100);
}
return tempValue;
}
static void sortArr(int[] Arr, bool orderby)
{
for (int i = 0; i < Arr.Length; i++)
{
for (int j = i + 1; j < Arr.Length; j++)
{
if (orderby)
{
if (Arr[i] > Arr[j])
{
Arr[i] = Arr[j] + (Arr[j] = Arr[i]) * 0;
}
}
else
{
if (Arr[i] < Arr[j])
{
Arr[i] = Arr[j] + (Arr[j] = Arr[i]) * 0;
}
}
}
}
}
}
{
static void Main(string[] args)
{
int[] Arr = new int[100];
Random random = new Random();
for (int i = 0; i < Arr.Length; i++)
{
Arr[i] = GetRandomNum(Arr, random);
}
for (int i = 0; i < 1000; i++)
{
//Console.WriteLine(random.Next(101));//这种会产生0-100之间的数,返回一个小于指定数的非负随机数
//Console.WriteLine(random.Next(1,101));//这种会产生1-100之间的数
}
sortArr(Arr, false);
foreach (var item in Arr)
{
Console.WriteLine(item);
}
}
private static int GetRandomNum(int[] Arr, Random random)
{
int tempValue = random.Next(1, 101);
if (Arr.Contains(tempValue))
{
tempValue = GetRandomNum(Arr, random);
}
return tempValue;
}
private static int GetRandomNum2(int[] Arr, Random random)
{
int tempValue = random.Next(1, 100);
while (!Arr.Contains(tempValue))
{
tempValue = random.Next(1, 100);
}
return tempValue;
}
static void sortArr(int[] Arr, bool orderby)
{
for (int i = 0; i < Arr.Length; i++)
{
for (int j = i + 1; j < Arr.Length; j++)
{
if (orderby)
{
if (Arr[i] > Arr[j])
{
Arr[i] = Arr[j] + (Arr[j] = Arr[i]) * 0;
}
}
else
{
if (Arr[i] < Arr[j])
{
Arr[i] = Arr[j] + (Arr[j] = Arr[i]) * 0;
}
}
}
}
}
}
展开全部
Random r = new Random();
int[] values = new int[3];
for (int i = 0; i < 3; i++)
values[i] = r.Next(100) + 1;
values = values.OrderBy(x => x).ToArray();
foreach (int value in values)
Console.WriteLine(value);
Console.ReadKey();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Random r = new Random();
int[] nums = new int[] { r.Next(1, 101), r.Next(1, 101), r.Next(1, 101) };
for (int i = 0; i < nums.Length-1; i++)
{
for (int j = 0; j < nums.Length-1-i; j++)
{
if (nums[j]>nums[j+1])
{
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
int[] nums = new int[] { r.Next(1, 101), r.Next(1, 101), r.Next(1, 101) };
for (int i = 0; i < nums.Length-1; i++)
{
for (int j = 0; j < nums.Length-1-i; j++)
{
if (nums[j]>nums[j+1])
{
int temp = nums[j];
nums[j] = nums[j+1];
nums[j+1] = temp;
}
}
}
for (int i = 0; i < nums.Length; i++)
{
Console.WriteLine(nums[i]);
}
Console.ReadKey();
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询