这几天好热啊,想吃西瓜
题目:
描述:
输入一个华氏温度,要求输出摄氏温度。公式为 C=5(F-32)/9,取两位小数。
输入:
一个华氏温度,浮点数
输出:
摄氏温度,浮点两位小数
样例输入:
-40
样例输出:
c = -40.00
题目链接:http://www.dotcpp.com/oj/problem1005.html
分析:
C++ 中不能像 C 那样直接的用几个字符去控制输出,所以我们要引进 iomanip 这个头文件。
先是在输出后加上 setiosflags(ios::fixed),它是用来设置格式的,把浮点数的输出格式成定点整数、小数点和小数部分。
setprecision(N) 表示设置浮点数的小数位数为 N-1
setiosflags(ios::fixed) 和 serprecision(N) 两个一起用时就表示保留 N 位小数输出。
设置之后的输出格式作用于后续的输出对象,如果要更改的话,需要用 resetiosflags(ios::fixed) 去重置一下格式。
这里可以查看 http://www.cplusplus.com/reference/iomanip/
参考代码:
#include<iostream>
#include<iomanip> //精度控制头文件
using namespace std;
int main()
{
float Fahrenheit; //华式温度
cin >> Fahrenheit;
float Celsius; //摄氏温度
Celsius = 5 * (Fahrenheit - 32) / 9; //公式 C=5(F-32)/9
cout << "c=" << setiosflags(ios::fixed) << setprecision(2) << Celsius << endl;
//setiosflags(ios::fixed) 和 serprecision(N) 两个一起用时就表示保留 N 位小数输出
return 0;
}
本地运行结果如下图