大概只是另一個noob問題,但我無法找到答案,所以... 我必須寫一個簡單的數字比較算法。我寫了這個程序,以便如果數字不相等,輸出將是一個比較,「最大的數字是x,最小的是y」;如果他們是平等的,程序會這樣說;並且,爲了安全起見,其他(如果由於任何原因而無法比較數字)輸出將是錯誤消息。從技術上講,這應該是一個非常簡單的任務,但是當我決定測試可能的結果時,以及可能導致錯誤的原因時,我發現當輸入都是字母時,輸出是相等的。當第一個輸入是數字,第二個輸入是字母時,它沒有輸出,它完全忽略了其餘的代碼。如果第一個輸入是一個字母,第二個輸入是一個比較,說明這個字母是最小的,值爲0.簡單比較promgram(對於數字)查看字母等於?
我只是一個初學者,所以如果任何人都可以向我解釋爲什麼這個發生或我怎麼能告訴程序只比較一個數值輸入...提前致謝!
下面的代碼(在Ruby中):
puts "\nEnter two positive numbers:\n\nFirst:"
num1 = $stdin.gets.chomp.to_f
puts "\nSecond:"
num2 = $stdin.gets.chomp.to_f
if num1 != num2
if num1 > num2
biggest = num1
smallest = num2
elsif num1 < num2
biggest = num2
smallest = num1
puts "\nThe biggest number is #{biggest} and the smallest is #{smallest}"
end
elsif num1 == num2
puts "\nThe numbers are equal."
else
puts "\nError"
end
作爲一個說明:你有沒有輸出這個條件'如果NUM1> NUM2 ' – engineersmnky