level 15
你觉得你这个代码能实现删除的功能么?k=k+1是个什么操作?不应该是减1么
然后问题就合理了,如果一开始k是10,那么k减去1之后自然是9,否则加1的话应该是11才对
2020年11月23日 14点11分
2
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分