将摄氏温度转换为华氏温度的 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中文网其他相关文章!