随机生成不重复的数
class Program
{
static void Main(string[] args)
{
Console.WriteLine(“请输入要生成随机数的范围1-?”);
//接收用户输入的字符
string str=Console.ReadLine ();
int it;
//尝试转换用户输入的是否能转换成整型,转换成功赋值给it
bool b = int.TryParse(str, out it);
if (b == true)
{
Console.WriteLine(“请输入要生成几个随机数:”);
//接收用户输入的字符
str = Console.ReadLine();
int it1;
//尝试转换用户输入的是否能转换成整型,转换成功赋值给it1
bool b1 = int.TryParse(str, out it1);
if (b1 == true)
{
Random r = new Random();
//定义数组,用来存放随机生成的数
int[] nub = new int[it1];
int a = 0;
//方法一
for (int i = 0; i < nub.Length; i++)
{
//将随机生成的数字复制给a
a = r.Next(1, it + 1);
//判断随机生成的数是否能再数组中找到返回索引
if (Array.IndexOf(nub, a) >= 0)
{//如果存在在重新生成一个
a = r.Next(1, 37);
}
nub[i] = a;
}
//输出随机生成的数
Console.WriteLine(string.Join(” “, nub));
//方法二
//for (int i = 0; i < nub.Length; i++)
//{
////将随机生成的数字复制给a
// a = r.Next(1, it + 1);
////查看数组中是否包含随机生成的数
// if (nub.Contains(a))
// {
////如果包含此次循环无效i–
// i–;
// }
// else
// {
////如果不包含则放入数组
// nub[i] = a;
// }
//}
////输出随机生成的数
//Console.WriteLine(string.Join(” “, nub));
}
}
Console.ReadKey();
}
}