为了账号安全,请及时绑定邮箱和手机立即绑定

C ++程序将华氏温度转换为摄氏温度

C ++程序将华氏温度转换为摄氏温度

C++
阿晨1998 2019-12-04 13:08:28
有人可以帮我理解为什么输出为0吗?#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;                             }
查看完整描述

3 回答

?
MYYA

TA贡献1868条经验 获得超4个赞

(5/9)默认情况下将以整数除法计算,并且将为零。尝试(5.0/9)


查看完整回答
反对 回复 2019-12-04
?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

华氏度到摄氏温度将是 (Fahrenheit - 32) * 5 / 9


查看完整回答
反对 回复 2019-12-04
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

在C ++中,5/9将结果计算为整数,因为两个操作数均为整数。您需要向编译器提示您希望结果为float / double。您可以通过显式转换以下操作数之一来实现((double)5)/9;


编辑 由于它被标记为C ++,因此您可以使用进行更优雅的转换static_cast。例如:static_cast<double>(5)/9。尽管在这种特殊情况下,您可以直接使用5.0 / 9获得所需的结果,但是当您使用变量而不是常量值(例如5)时,强制转换将非常有用。


查看完整回答
反对 回复 2019-12-04
  • 3 回答
  • 0 关注
  • 1179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信