摂氏を華氏に変換する C プログラム
この C プログラムは、摂氏の温度を華氏に変換することを目的としています。ただし、一部のユーザーは、プログラムが誤って 0 を出力するという問題に遭遇しています。この記事では、この問題の背後にある理由を調査し、解決策を提供します。
問題の説明
次の 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) はデフォルトで整数の除算を実行し、結果は 0 になります。浮動小数点除算を確実に行うには、式を (5.0/9) に変更する必要があります。修正されたコードは次のとおりです:
<code class="cpp">#include <iostream> using namespace std; int main() { float celsius; float fahrenheit; cout << "Enter Celsius temperature: "; cin >> celsius; fahrenheit = (5.0/9) * (celsius + 32); cout << "Fahrenheit = " << fahrenheit << endl; return 0; }</code>
この変更により、プログラムは摂氏値が指定された場合に華氏温度を正しく計算して表示します。
以上が摂氏から華氏へのコンバーターの出力が 0 になるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。