為什麼這個 C 程式錯誤地將華氏溫度轉換為攝氏溫度?
嘗試將華氏溫度轉換為攝氏溫度的 C 程序會因為以下原因而造成混亂:錯誤輸出 0。讓我們深入研究程式碼並解釋問題。
程式首先包含必要的標準輸入和輸出庫,並定義一些變數。
<code class="cpp">#include <iostream> using namespace std; float celsius; float fahrenheit;</code>
程式碼然後提示使用者輸入攝氏溫度並將其儲存在攝氏度變數中。
<code class="cpp">cout << "Enter Celsius temperature: "; cin >> celsius;</code>
將攝氏溫度轉換為華氏溫度的計算如下:
<code class="cpp">fahrenheit = (5/9) * (celsius + 32);</code>
問題出現在這裡。表達式 (5/9) 預設執行整數除法,結果為 0。為了獲得正確的小數結果,我們需要將其中一個運算元轉換為浮點類型。
<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
透過使用浮點除法,我們確保計算正確完成並保留小數部分。
程式最後輸出華氏溫度。
<code class="cpp">cout << "Fahrenheit = " << fahrenheit << endl;</code>
透過進行此修正,程式現在將根據使用者提供的攝氏度值正確轉換並顯示華氏溫度。
以上是為什麼我的華氏溫度轉換程式輸出 0?的詳細內容。更多資訊請關注PHP中文網其他相關文章!