題目:
描述:
輸入一個華氏溫度,要求輸出攝氏溫度。公式為 C=5(F-32)/9,取兩位小數(shù)。
輸入:
一個華氏溫度,浮點數(shù)
輸出:
攝氏溫度,浮點兩位小數(shù)
樣例輸入:
-40
樣例輸出:
c = -40.00
題目鏈接:http://www.dotcpp.com/oj/problem1005.html
分析:
C++ 中不能像 C 那樣直接的用幾個字符去控制輸出,所以我們要引進 iomanip 這個頭文件。
先是在輸出后加上 setiosflags(ios::fixed),它是用來設(shè)置格式的,把浮點數(shù)的輸出格式成定點整數(shù)、小數(shù)點和小數(shù)部分。
setprecision(N) 表示設(shè)置浮點數(shù)的小數(shù)位數(shù)為 N-1
setiosflags(ios::fixed) 和 serprecision(N) 兩個一起用時就表示保留 N 位小數(shù)輸出。
設(shè)置之后的輸出格式作用于后續(xù)的輸出對象,如果要更改的話,需要用 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 位小數(shù)輸出
return 0;
}
本地運行結(jié)果如下圖
