如何制作一个由1000个1-100之间的随机整数组成的数组

本文关键字:数组 之间 1-100 整数 1000个 随机 何制作 一个 | 更新日期: 2023-09-27 17:58:29

如何对c#进行编程,使其生成一个由1000个1-100之间的随机整数组成的数组。

然后,当一个人输入一个数字时,你会得到什么?例如,68。你怎么能让程序说68出现了很多次,或者根本不起作用!

我不是在问完整的答案,我只是需要一个从哪里开始的提示。

以下是我所知道的:

我必须使用随机函数和if,但我不知道该把什么放在哪里!

如何制作一个由1000个1-100之间的随机整数组成的数组

int[] iArray = new int[1000];
int counter = 0;
Random random = new Random();
for(int i = 0; i < 1000; i++){
   iArray[i] = random.Next(1, 101); //1 - 100, including 100
}
int number = Convert.ToInt32(Console.ReadLine());
foreach(int i in iArray){
  if(i == number)count++;
}
Console.WriteLine("The number "+ number+" appears "+count+" times!");

for loop开始,在每次迭代中调用random function并将结果放入public list中。之后,您将创建一个对话框,供用户键入一个数字。您可以在列表中使用lambda expression进行搜索,以查看您得到了多少匹配。

制作一个由1000个1-100之间的随机整数组成的数组,当一个人输入一个数字时,例如68,你如何让程序说68出现了很多次

我想你正在寻找这样的方法:

private static Random rnd = new Random();
public static IEnumerable<int> getRandomNumbers(int count, int lowerbound, int upperbound, int specialNumber = int.MinValue, int specialNumberCount = int.MinValue)
{
    List<int> list = new List<int>(count);
    HashSet<int> specialNumPositions = new HashSet<int>();
    if (specialNumberCount > 0)
    {
        // generate random positions for the number that must be create at least n-times
        for (int i = 0; i < specialNumberCount; i++)
        {
            while (!specialNumPositions.Add(rnd.Next(0, count)))
                ;
        }
    }
    while (list.Count < count)
    {
        if (specialNumPositions.Contains(list.Count))
            list.Add(specialNumber);
        else
            list.Add(rnd.Next(lowerbound, upperbound + 1));
    }
    return list;
}

你可以这样使用:

// ensure that 68 is generated at least 10 times
var list = getRandomNumbers(1000, 1, 100, 68, 10);

演示

如果你只是想知道一个数字在列表中出现的频率,你可以使用Linq:

int count = list.Count(i => i == 68);