在数组中搜索数字

时间:2013-11-19 20:37:50

标签: arrays vb6

我从老师的练习中遇到了一些麻烦。

练习: 编写程序输入5个数字。要求用户输入一个用于搜索阵列的数字。程序应搜索此编号并告诉用户是否在阵列中找到了该编号。例如,如果已找到,则应显示该数字所占的阵列的位置。例如“你的号码是6.它一直喜欢名单的第3位。”

显然,我可以使用for循环获取5个数字并将它们放入数组中。但我不知道如何检查用户想要搜索的号码是否在数组中。

继承我的尝试http://pastebin.com/t2DcdSvU我不知道如何将其放入代码标签中:S

2 个答案:

答案 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