頁:
[1]
請問哪裡有錯誤?
我分別輸入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...<div class='locked'><em>瀏覽完整內容,請先 <a href='member.php?mod=register'>註冊</a> 或 <a href='javascript:;' onclick="lsSubmit()">登入會員</a></em></div><div></div> 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 等式寫錯了、善用debug模式,加上監控式很容易就可以看出問題囉
頁:
[1]