你要产生10个数,但是你先产生了一个,然后又循环了10次,多了一个
另外,你用到的数都是整数,定义Double类型就是浪费
当然这些只是小问题,更关键的是你的max>x>two这种条件写法错了,应该写成max>x And x>two才对;而且,这个If结构不应该写成嵌套的,应该改成If...Else结构,像这样:
If x>max Then
max=x
ElseIf x>two Then
two=x
ElseIf x>three Then
three=x '一个用基数词一个用序数词什么鬼?给你把third改成three了
End If
然后,还有更关键的,如果你一开始产生的数就是最大的,那你还怎么找得出第二、第三大的数呢?所以,你应该把第一句x=Int(Rnd()*101+100)删掉,把max=x、two=x、three=x这几句的x都改成100(即范围内最小的数),这样才能把三个数全都找出来,顺便还解决了“多了一个数”的小问题
