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