題目:
描述:
輸入一個華氏溫度,要求輸出攝氏溫度。公式爲 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;
}
本地運行結果如下圖