ホームページ > バックエンド開発 > C++ > 華氏から摂氏への変換プログラムが 0 を出力するのはなぜですか?

華氏から摂氏への変換プログラムが 0 を出力するのはなぜですか?

Susan Sarandon
リリース: 2024-10-25 02:47:02
オリジナル
285 人が閲覧しました

Why Does My Fahrenheit to Celsius Conversion Program Output 0?

この 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 になります。正しい小数の結果を取得するには、オペランドの 1 つを浮動小数点型にキャストする必要があります。

<code class="cpp">fahrenheit = (5.0/9) * (celsius + 32);</code>
ログイン後にコピー

浮動小数点除算では、計算が正しく行われ、小数部分が保持されることを確認します。

プログラムは華氏温度を出力して終了します。

<code class="cpp">cout << "Fahrenheit = " << fahrenheit << endl;</code>
ログイン後にコピー

この修正を行うことで、プログラムはユーザーが指定した摂氏の値に基づいて華氏温度を正しく変換して表示するようになりました。

以上が華氏から摂氏への変換プログラムが 0 を出力するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート