作者fjf1980 (VAIO才是NB的王道呀!)
看板Visual_Basic
标题[.NET] 请教一个回圈的问题
时间Mon Nov 3 17:12:08 2008
我照书上的一个练习题打的,有个地方想请教各位高手:
这个程式由使用者输入两个数字,然後按"计算"钮,如果超过一亿,那麽显示超过一亿。
如果没有超过一亿,显示你刚输入两个数字中间偶数的乘积。
EX: 输入3 及7, 显示:结果:24 (因为只有4,6相乘)
我的问题如下:
我要判断为偶数才相乘,书上的写法是中间加入了if i Mod 2 = 0 then ....End If
我本来写While i Mod 2 = 0 ....... End While
可是这样写,程式就错了,一样输入3,7两数字,跳出结果是超过一亿。
为什麽呀? 有没有高手帮忙解答一下! 感谢!
============================================================================
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a, b, i As Integer
Dim m As ULong = 1
a = Val(TextBox1.Text)
b = Val(TextBox2.Text)
For i = a To b
If i Mod 2 = 0 Then
m = m * i
If m > 10 ^ 8 Then Exit For
End If
Next
Label4.Text = "结果:" _
& If(m > 10 ^ 8, "超过一亿", Format(m, "#,0"))
End Sub
End Class
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.168.213.74
1F:→ petitcuckoo:进去while後 i的数值一直不会变 所以会一直乘上i 11/03 17:34
2F:→ petitcuckoo:直到 m > 10 ^ 8 才会离开 11/03 17:35
3F:→ petitcuckoo:若是输入3跟7 则是一直4*4*4*4*4..直到 > 10 ^ 8 11/03 17:36
4F:→ fjf1980:原来! 感谢^^ 11/03 18:49