永发信息网

vbs 数组判断

答案:4  悬赏:60  手机版
解决时间 2021-11-16 17:41
vbs 数组判断
最佳答案
按照你题目的要求,循环已经是最快的效率了,如果你的是字符串那么效率可以更快,有问题就百度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)
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
最直接的办法:

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的内容恒大于数组一)就好判断了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
招商银行私人银行卡怎么办理 是什么样子的
要孩子之前需要做什么检查
4号电池尺寸是多少
水在23度的密度
怎么监督自己不玩游戏和不看动漫?
雷丁项城4s店地址在哪,我要去那里办事,
aj32尺码到底怎么选择啊我有人
人物外貌描写300字要求运用夸张.比喻等辞手法
在北海谁知道有谁回收大润发购物卡和和安购物
96÷4X32怎么算脱式计算
1976年7月19日丙辰龙在五行中缺什么
交大附小怎样?
冬瓜,素馅儿,水饺
中国银行(甘泉路支行)(八王寺街39-1号中国银
他两嬉戏着快活的像什么
推荐资讯
我挽留你却那么无情,这句歌词的名字是什么?
求懂周易大师给算一下。
皇家美格地址在什么地方,我要处理点事!
石承融个人资料 Ella新歌《情书》MV里的男主
至洁洗衣店地址有知道的么?有点事想过去!
江湖强强耽美文 HE 必须似强强
浙江省绍兴市嵊州市高级看护中心地址有知道的
宝宝吞下薄金属片
翻译:1.Chris Lewis will explain how Brind
海尔l32k3a开机无12v24v输出
315质量万里行投诉有效吗,一般多少个工作日
意大利PARPAS机床如何
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?