設計用於將華氏溫度轉換為攝氏溫度的C 程序遇到意外的輸出零。以下是包含問題的程式碼:
<code class="cpp">#include <iostream> using namespace std; int main() { float celsius; float fahrenheit; cout << "Enter Celsius temperature: "; cin >> celsius; fahrenheit = (5/9) * (celsius + 32); cout << "Fahrenheit = " << fahrenheit << endl; return 0; }</code>
執行後,程式無法準確地將攝氏度轉換為華氏度,並且始終輸出0.
問題在於用於計算華氏溫度的公式:華氏溫度= (5/9) * (攝氏度32)。
在此表達式:
因此,5/9 的計算結果為 0,無論輸入的攝氏溫度值為何,所得的華氏溫度也為 0。
要解決此問題,需要確保除法運算結果為浮點數。這可以透過將操作數之一轉換為浮點類型來實現。更正後的代碼:
<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
透過此修改,5.0/9 成為浮點除法,保留小數部分並產生正確的華氏度轉換。
以上是為什麼我的華氏溫度到攝氏度轉換程式總是輸出0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!