我的代码:降低分数
Private Sub btnReduce_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnReduce.Click
Call Reduce()
End Sub
Function Reduce() As Single
Dim num As Integer = txtNum.Text
Dim deno As Integer = txtDeno.Text
For i = 1 To deno Step +1
If num Mod i = 0 Then
num = num/i
End If
If deno Mod i = 0 Then
deno = deno/i
End If
Next
lblOutputNum.Text = num
lblOutputDeno.Text = deno
End Function
当我进入2/4它给了我1/2。但是当我输入3/6时,它会给我1/1。有谁知道它为什么这样做?因为我无法弄清楚这一点。感谢任何可以的人。
请考虑在以前的版本[降低分数(http://stackoverflow.com/questions/24093302/visual-basic-reducing-fractions)问题给你阅读的链接。我没有看到链接[简化分形](http://stackoverflow.com/questions/5287514/how-to)中建议的计算[GCD](http://en.wikipedia.org/wiki/Greatest_common_divisor)的代码 - 简化的级分)。 –
是的,但那是C#? – user3695840
GCD确实不是语言特定的.... [GCD](http://simple.wikipedia.org/wiki/Gcd) - 和相应的[欧几里得算法](http://en.wikipedia.org/wiki/Euclidean_algorithm )。 –