我分別輸入1.2.3正確 但是輸入3.2.1 為什變1.3.2哪裡錯呢?請指正謝謝
Sub Main()
Dim a, b, c, x As Integer
Console.Write("請輸入第一個數字 :")
a = Convert.ToInt32(Console.ReadLine())
Console.Write("請輸入第二個數字 :")
b = Convert.ToInt32(Console.ReadLine())
Console.Write("請輸入第三個數字 :")
c = Convert.ToInt32(Console.ReadLine())
If a < b Then
x = a
a = b
b = x
End If
If c < b Then
x = b
b = c
c = x
End If
If b < a Then
x = a
a = b
b = x
End If
Console.WriteLine("三個數字從大到小的順序為 {0}, {1}, {2}", a, b, c)
Console.Read()
End Sub
End Module
還有這題為什麼公約數都是1= ="奇怪了
Module Module1
Sub Main()
Dim a, b, gcd As Integer
Console.Write("請輸入第一個數字:")
a = Convert.ToInt32(Console.ReadLine())
Console.Write("請輸入第二個數字:")
b = Convert.ToInt32(Console.ReadLine())
gcd = 1
For i = 2 To a
If (a Mod i) = 0 And (b Mod i) = 0 Then
gcd = 1
End If
Next
Console.WriteLine(" {0} 與 {1} 最大公約數為 {2} ", a, b, gcd)
Console.Read()
End Sub
End Module作者: snowyearkimo 時間: 2014-11-19 11:18 PM
1. 錯了2個地方:
1. 第2個If應是 b < c
2. 第3個If應是多餘
按照你現在的code確實會成132
2. 等式寫錯
If (a Mod i) = 0 And (b Mod i) = 0 Then
gcd = i
End If作者: raja48364844 時間: 2014-12-5 08:58 PM