vbs 数组判断
答案:4 悬赏:60 手机版
解决时间 2021-11-16 17:41
- 提问者网友:愿为果
- 2021-11-16 07:52
vbs 数组判断
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-11-16 08:33
按照你题目的要求,循环已经是最快的效率了,如果你的是字符串那么效率可以更快,有问题就百度HI我
Dim a, b
a = Array(11, 12, 13, 14, 15)
b = Array(21, 22, 23, 24, 25)
Dim n
n = Val(InputBox("输入"))
Dim i
Dim f
f = 3
For Each i In a
If i = n Then
f = 1
End If
Next
If f <> 1 Then
For Each i In b
If i = n Then
f = 2
End If
Next
End If
MsgBox f
Dim a, b
a = Array(11, 12, 13, 14, 15)
b = Array(21, 22, 23, 24, 25)
Dim n
n = Val(InputBox("输入"))
Dim i
Dim f
f = 3
For Each i In a
If i = n Then
f = 1
End If
Next
If f <> 1 Then
For Each i In b
If i = n Then
f = 2
End If
Next
End If
MsgBox f
全部回答
- 1楼网友:末日狂欢
- 2021-11-16 12:16
还不就是查找嘛。
如果是有序数组直接折半查找,如果是无序数组先快速排序了再折半查找。
不过反正你数组也就这么几个元素也用不着这么麻烦哦。
如果是有序数组直接折半查找,如果是无序数组先快速排序了再折半查找。
不过反正你数组也就这么几个元素也用不着这么麻烦哦。
- 2楼网友:傲气稳了全场
- 2021-11-16 11:22
Dim a, b
a = Array(11, 12, 13, 14, 15)
b = Array(21, 22, 23, 24, 25)
input=inputbox("请输入要确定位置的数字:")
Do
'这个循环只用来更方便的跳出查找,以提高效率
'由于数组元素少,所以没有采用折半查找,
'这里只要找到,立马退出,不再进行后续查找
If CInt(input)-input<>0 Then
MsgBox 3
Exit do
End If
input=CInt(input)
for each i in a
if input=i then
msgbox 1
Exit do
end if
next
for each i in b
if input=i then
msgbox 2
Exit do
end if
Next
msgbox 3
Exit Do
Loop
a = Array(11, 12, 13, 14, 15)
b = Array(21, 22, 23, 24, 25)
input=inputbox("请输入要确定位置的数字:")
Do
'这个循环只用来更方便的跳出查找,以提高效率
'由于数组元素少,所以没有采用折半查找,
'这里只要找到,立马退出,不再进行后续查找
If CInt(input)-input<>0 Then
MsgBox 3
Exit do
End If
input=CInt(input)
for each i in a
if input=i then
msgbox 1
Exit do
end if
next
for each i in b
if input=i then
msgbox 2
Exit do
end if
Next
msgbox 3
Exit Do
Loop
- 3楼网友:一叶十三刺
- 2021-11-16 10:12
最直接的办法:
dim arr1,arr2
arr1=Array(11, 12, 13, 14, 15)
arr2=Array(21, 22, 23, 24, 25)
data=InputBox("请输入要判断的数据:")
k=3
for i=0 to UBound(arr1)-1
if cstr(arr1(i))=CStr(data) Then
k=1
end if
next
for i=0 to UBound(arr2)-1
if cstr(arr2(i))=cstr(data) Then
k=2
end if
next
msgbox k
补充:
我的这个办法适用于数组内数据没有规律的,如果已知数组内数据是指定规律(比如,数组2的内容恒大于数组一)就好判断了。
dim arr1,arr2
arr1=Array(11, 12, 13, 14, 15)
arr2=Array(21, 22, 23, 24, 25)
data=InputBox("请输入要判断的数据:")
k=3
for i=0 to UBound(arr1)-1
if cstr(arr1(i))=CStr(data) Then
k=1
end if
next
for i=0 to UBound(arr2)-1
if cstr(arr2(i))=cstr(data) Then
k=2
end if
next
msgbox k
补充:
我的这个办法适用于数组内数据没有规律的,如果已知数组内数据是指定规律(比如,数组2的内容恒大于数组一)就好判断了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯