首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为何顺序不同结果不同

2012-10-06 
为什么顺序不同结果不同?[size24px][/size]VB codePrivate Sub Form_Click()Dim i As Integer, max As In

为什么顺序不同结果不同?
[size=24px][/size]

VB code
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

这是我写的程序,我不知道错哪了?请高手赐教,并告诉原因,谢谢!

[解决办法]
VB code
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
[解决办法]
探讨
[size=24px][/size]Private Sub Form_Click()
Dim i As Integer, max As Integer, t As Integer
Print "随机产生的十个数为:";
Randomize
For i = 1 To 10
t = Int(100 * Rnd + 1)
Print t;
max = Int(100……

[解决办法]
楼主这样写
每次循环会产生两个随机数,然后返回大的一个

而不是输出10个中的最大的那个
[解决办法]
VB code
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次赋值中的...

热点排行