为什么这个 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中文网其他相关文章!