我从老师的练习中遇到了一些麻烦。
练习: 编写程序输入5个数字。要求用户输入一个用于搜索阵列的数字。程序应搜索此编号并告诉用户是否在阵列中找到了该编号。例如,如果已找到,则应显示该数字所占的阵列的位置。例如“你的号码是6.它一直喜欢名单的第3位。”
显然,我可以使用for循环获取5个数字并将它们放入数组中。但我不知道如何检查用户想要搜索的号码是否在数组中。
继承我的尝试http://pastebin.com/t2DcdSvU我不知道如何将其放入代码标签中:S
答案 0 :(得分:1)
首先,获取用户输入。所以假设您拥有数组和目标值。例如,我们只是说您的用户输入创建了以下内容:
Dim numbers = {1, 2, 9, 6, 4}
Dim target = 2
现在你需要做的就是遍历数组,并将目标与数组的当前值进行比较。
For x = 0 To 4
If target = numbers(x) Then
MsgBox "Your number is " + target ", found at position " + x
Exit For
End If
Next x
答案 1 :(得分:0)
您可以使用相同的概念来搜索数组。
假设您没有排序数组,您只需使用for循环检查数组的每个值,并与输入的值进行比较即可进行搜索。
使用for循环或任何想要填充数组的构造,然后使用另一个循环遍历数组,对于每个值,进行比较并确定用户是否输入了数组中的数字。
如果匹配,请打印出结果索引号并返回。
以下是一些代码示例,可以满足您的需求:
Dim value As Integer
value = 0
' This loop goes from 0 to 4.
For index As Integer = 0 To 4
value = myArray(index)
' Exit condition if the value is the user number.
If (value = usernum) Then
Console.writeline("Your number was " & usernum & " found at: " & index & "\n")
Exit For
End If
Next