C++ 华氏温度转摄氏温度代码详解及优化
#include
int main() { float c, f; std::cout << '请输入华氏温度' << std::endl; std::cin >> f; c = 5.0 / 9 * (f - 32); std::cout << std::fixed << std::setprecision(2) << '摄氏温度为' << c << std::endl; return 0; }
你的代码看起来几乎没有问题。不过有两个小问题需要注意:
-
整数除法:在这行代码
c=5 / 9 * (f - 32);中,5 / 9是整数除法,结果会舍弃小数部分,导致计算出的摄氏温度不准确。你可以将5或9中的一个改为浮点数,以进行浮点除法来得到正确的结果。例如改为c = 5.0 / 9 * (f - 32);或c = 5 / 9.0 * (f - 32);。 -
命名空间使用:在你的代码中使用了
using namespace std;,这样可以省略std::的前缀。尽管这在小规模程序中是可以接受的,但在大型项目中可能会引起命名冲突。因此,最好避免使用using namespace std;,并在使用cout和endl时加上std::前缀,如:std::cout和std::endl。
下面是更新后的代码:
#include <iostream>
#include <iomanip>
int main()
{
float c, f;
std::cout << '请输入华氏温度' << std::endl;
std::cin >> f;
c = 5.0 / 9 * (f - 32);
std::cout << std::fixed << std::setprecision(2) << '摄氏温度为' << c << std::endl;
return 0;
}
希望这能帮到你!如果你还有其他问题,请随时提问。
原文地址: http://www.cveoy.top/t/topic/2M6 著作权归作者所有。请勿转载和采集!