为什么顺序不同结果不同?
[size=24px][/size]
Private Sub Form_Click()Dim i As Integer, max As Integer, t As IntegerPrint "随机产生的十个数为:";RandomizeFor i = 1 To 10 t = Int(100 * Rnd + 1) Print t; max = Int(100 * Rnd + 1) If max <= t Then max = tNext i Print Print Print "最大的数为:"; maxEnd Sub
For i = 1 To 10 t = Int(100 * Rnd + 1) Print t; If i = 1 Then max = Int(100 * Rnd + 1) End If If max <= t Then max = tNext i
[解决办法]
Private Sub Command1_Click() Dim i As Integer, max As Integer, t As Integer Print "Ëæ»ú²úÉúµÄÊ®¸öÊýΪ£º"; Randomize For i = 1 To 10 t = Int(100 * Rnd + 1) Debug.Print t max = Int(100 * Rnd + 1) Debug.Print max If max <= t Then max = t Next i Debug.Print Debug.Print Debug.Print "最大的数为"; maxEnd Sub
[解决办法]
100:For i = 1 To 10
110: t = Int(100 * Rnd + 1)
120: Print t;
130: max = Int(100 * Rnd + 1)
140: If max <= t Then max = t
150:Next i
循环里面逻辑错了.
每次循环时:
分别给t和max赋值随机数.
然后比较了这次巡回中两个随机数的大小,并做了个操作...
然后继续去巡回了:
分别给t和max赋值随机数...
这样两次循环之间是没有任何关系的.max的仅仅是最后一次循环的2个赋值中大的那个,而不是10次赋值中的...