你的代码问题出现在这一行:
Celsiustemperature=(5/9)*(Fahrenheittemperature-32);
在这行代码中,(5/9) 会被视为整型除法,结果为 0,因此你得到的摄氏温度始终为 0。为了避免这个问题,可以把 5 和 9 中的任意一个或两个转换为浮点数。你可以把这行改为:
Celsiustemperature=(5.0/9)*(Fahrenheittemperature-32);
这样,5.0/9 会被视为浮点数计算,得到正确的结果。
完整代码修改如下:
#include <stdio.h>
int main()
{
float Fahrenheittemperature, Celsiustemperature;
printf("Fahrenheittemperature= ");
scanf("%f", &Fahrenheittemperature);
Celsiustemperature = (5.0/9) * (Fahrenheittemperature - 32);
printf("Celsiustemperature= %.2f\n", Celsiustemperature);
return 0;
}
这样程序应该可以正确计算并输出摄氏温度了。
效果如下图
