我的程序需要:
一个。生成一个包含 20 个从 0 到 9 的随机整数的数组。搜索数字 7 的第一次出现(如果有),并报告其在数组中的位置。
湾。重复部分 a 的计算 1000 次,对于数组中的每个位置,报告数组中第一次出现 7 在该位置的次数
但是,每当我运行程序时,我都会得到奇怪的结果(每次都不同),例如:
- 在任何位置都找不到七人组
- 在一个位置发现 1000 个七人组,而在其他任何地方都没有发现七人组
- 在 2 个位置发现了数百个 7,在其他任何地方都没有发现。
有谁知道我的程序有什么问题?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Week_6_Project_2
{
class Program
{
static int intArrayLength = 20;
static int[] resultsArray = new int[intArrayLength];
public static Array generateRandomArray() {
int[] randomNumberArray = new int[intArrayLength];
Random random = new Random();
int popcounter = 0;
while (popcounter < intArrayLength) {
randomNumberArray[popcounter] = random.Next(0, 10);
popcounter += 1;
}
return randomNumberArray;
}
public static void searchForSevens()
{
int counter = 0;
int[] randomArray = (int[])generateRandomArray();
while (counter < intArrayLength)
{
if (randomArray[counter] == 7)
{
resultsArray[counter] += 1;
counter = intArrayLength;
}
counter += 1;
}
}
static void Main()
{
int searchCounter = 0;
while (searchCounter < 1000)
{
searchForSevens();
searchCounter += 1;
}
int displayCounter = 0;
while (displayCounter < intArrayLength)
{
Console.WriteLine("Number of first occurrence of 7 at position {0} = {1}", displayCounter, resultsArray[displayCounter]);
displayCounter += 1;
}
Console.ReadLine();
}
}
}