C# 生成20个随机数并在数组中搜索数字的C程序(续)
我重新发布并编辑了它,因为我不知怎么看不到旧版本的答案。 老问题:我想做一个程序,生成20个随机数,并在数组中搜索一个数字。如果在输入中输入了20个随机数中的一个,那么输出应该显示它在这里。如果该数字不在阅读行中,它应该说是的,它在那里。我想知道如何使所有20个随机数字能够搜索。现在的代码只能搜索右边的号码。即使输入是20个随机数中的一个,除了右边的那一个,它也会说不,不在这里 新功能:我想通过使用2个for循环,一个用于创建数组,一个用于搜索数字来实现这一点。我已经编辑了这个程序有2个for循环,但是输出是奇怪的,正如你在图片上看到的。请通过编辑此代码来帮助我完成工作,但仍然有两个for循环,一个用于创建数组,一个用于搜索数字 在每个数字上,如果不匹配,则打印“否”。您应该使用您定义的isValueFound变量,您可以执行以下操作: 不要在循环中打印任何内容 当有匹配发送时,isValueFound为true,并中断循环 在第二个循环之外,检查isValueFound以确定它是否为found。C# 生成20个随机数并在数组中搜索数字的C程序(续),c#,arrays,for-loop,search,int,C#,Arrays,For Loop,Search,Int,我重新发布并编辑了它,因为我不知怎么看不到旧版本的答案。 老问题:我想做一个程序,生成20个随机数,并在数组中搜索一个数字。如果在输入中输入了20个随机数中的一个,那么输出应该显示它在这里。如果该数字不在阅读行中,它应该说是的,它在那里。我想知道如何使所有20个随机数字能够搜索。现在的代码只能搜索右边的号码。即使输入是20个随机数中的一个,除了右边的那一个,它也会说不,不在这里 新功能:我想通过使用2个for循环,一个用于创建数组,一个用于搜索数字来实现这一点。我已经编辑了这个程序有2个for循
此外,您还有机会学习二进制搜索。快乐编码 Console.WriteLineNo它不在这里。;应该在循环之外。只有在检查完所有号码且未找到号码后,才能打印此内容。您拥有isValueFound变量。使用调试器一步一步地完成最后一个for循环,您将看到所发生的情况,同时考虑使用哈希集,这样您就不会有任何重复。此外,hashset将为您提供一个contains方法来检查集合中是否存在数字
public static void Main(string[] args)
{
Random random = new Random();
int[] myIntArray = new int[100];
for (int i=0; i <20; i++)
{
int x = random.Next(100);
myIntArray[i] = x;
Console.Write(myIntArray[i] + " ");
}
Console.Write("\nType a number to search for:");
bool isValueFound = false;
int z = Convert.ToInt32(Console.ReadLine());
for (int i = 0; i <20; i++)
{
if (z==myIntArray[i])
{
Console.WriteLine("Yes it is there.");
}
else
Console.WriteLine("No it is not here.");
}
Console.ReadKey();
}
if (z==myIntArray[i])
{
Console.WriteLine("Yes it is there.");
}
else
Console.WriteLine("No it is not here."); <- The problem is here
}