代码忘抄了,文本框2为b 然后 a(i)代表文本框10个数,
vb吧
全部回复
仅看楼主
level 7
代码忘抄了,文本框2为b 然后 a(i)代表文本框10个数,然后再文本框输入一个和a(i)一样的数就把那个数删除,问一下k=k+1后面for循环那个k是不是9@初音✨七奈
2020年11月23日 13点11分 1
level 15
你觉得你这个代码能实现删除的功能么?k=k+1是个什么操作?不应该是减1么
然后问题就合理了,如果一开始k是10,那么k减去1之后自然是9,否则加1的话应该是11才对
2020年11月23日 14点11分 2
level 7
哦抄错了for i=1 to 10-k
2020年11月23日 14点11分 3
level 7
2020年11月23日 14点11分 4
level 15
其实这个代码怎么写,取决于k表示什么意思
如果k表示数组中的数字个数,那么代码可以这样写:
k = 10
For i = 1 To 10 '外层循环没必要用k,根据VB的For循环特性,写k跟写10一样的效果
If a(i) = n Then
k = k - 1 '此时应该让k减小
For j = i To k '这里其实就不应该用k-1了
a(j) = a(j + 1)
Next j
End If
Next i
如果k表示已经从数组中删除了的数字个数(即10-k表示数组中的数字个数),那么代码就这样写:
'一开始的k=10就不需要了
For i = 1 To 10
If a(i) = n Then
k = k + 1 '这里就是增加了
For j = i To 10 - k '你抄错的应该是这里吧?
a(j) = a(j + 1)
Next j
End If
Next i
2020年11月23日 14点11分 5
level 7
For j = i To k a(j) = a(j + 1) 什么意思
2020年11月23日 14点11分 6
从第i个数(被删除的数)到最后一个数,依次向前移动
2020年11月23日 14点11分
1