请大佬帮忙解释一下
vb吧
全部回复
仅看楼主
level 1
这个第五题,中间那do loop语句后就不懂了,具体是那个a(j),p有什么用,不清楚他这个代码是怎么消去相同元素的,感谢解答。
2022年05月02日 11点05分 1
level 15
判断第i个数是否与输入的x相等,如果相等,则把第i个数之后的所有数字都前移一格,方法是在里面再套一层循环,从i循环到9,循环变量用j(因为外层已经用了i);然后,每删除一个数字,令p加1,即p表示已经删除的数字个数,同时也可以知道,前面说的循环应该从i循环到9-p更合适
但是,这代码有错误,比如前两个数都是1,要删除1,则删除第一个之后,第二个1移到第一个的位置了,但是此时i却加1了,就把第二个1漏掉了;也就是说,这个代码不能删除连续的重复数字,连续的两个数只能删其中一个
2022年05月02日 12点05分 2
又是您,大佬,感谢感谢[哈哈]。我看了之后去试了一下(因为没太看懂,验证了一下),的确不行[笑尿] ,那这种咋办(我可能是想不出来了[笑尿] )
2022年05月02日 15点05分
level 15
这个代码要改,有两种思路:
1.让i倒着循环,从后往前,也就是Do之前令i=10,每次判断完一个数之后i减1,最后循环到i<1时结束
2.还是正着循环,但是如果删除了一个数的话不让i加1,只有没删数时才让i加1,也就是把i=i+1移到End If前面,并且i=i+1之前加一句Else;这种改法还要注意,一定要让i循环到大于10-p时就结束(现在写的是i>10,这是不行的),否则如果最后一个数是需要删除的数,会陷入死循环的
2022年05月02日 15点05分 4
好的,大佬,明天早上我上电脑去实验一下,也祝您晚安。[哈哈]
2022年05月02日 15点05分
1