入門訓練3 圓的面積 問題描述 給定圓的半徑r,求圓的面積。 輸入格式 輸入包含一個整數r,表示圓的半徑。 輸出格式 輸出一行,包含一個實數,四捨五入保留小數點後7位,表示圓的面積。 說明:在本題中,輸入是一個整數,但是輸出是一個實數。 對於實數輸出的問題,請一定看清楚實數輸出的要求,比如本題中要求 ...
入門訓練3 圓的面積
問題描述 給定圓的半徑r,求圓的面積。 輸入格式 輸入包含一個整數r,表示圓的半徑。 輸出格式 輸出一行,包含一個實數,四捨五入保留小數點後7位,表示圓的面積。說明:在本題中,輸入是一個整數,但是輸出是一個實數。
對於實數輸出的問題,請一定看清楚實數輸出的要求,比如本題中要求保留小數點後7位,則你的程式必須嚴格的輸出7位小數,輸出過多或者過少的小數位數都是不行的,都會被認為錯誤。
實數輸出的問題如果沒有特別說明,舍入都是按四捨五入進行。
樣例輸入 4 樣例輸出 50.2654825 數據規模與約定 1 <= r <= 10000。 提示 本題對精度要求較高,請註意π的值應該取較精確的值。你可以使用常量來表示π,比如PI=3.14159265358979323,也可以使用數學公式來求π,比如PI=atan(1.0)*4。1 #include<iostream> 2 #include<iomanip> 3 using namespace std; 4 5 int main(){ 6 double PI = 3.14159265358979323; 7 int r; 8 cin >> r; 9 cout << fixed << setprecision(7) << PI*r*r; 10 }
個人總結:
題目很簡單,需要註意的地方是C++中如何控制輸出。
知識拓展:
C++預設浮點數輸出有效位數是 6 位(若前面整數位數大於 6 位,使用科學計數法輸出),而通過以下幾種方式可以更改輸出精度:
1.使用 setprecision(n) 即可設置浮點數輸出的有效位數(若前面整數位數大於 n 位,使用科學計數法輸出)
2.使用 setiosflags(ios::fixed) 或 fixed,表示對小數點後面數字的輸出精度進行控制,所以,和 setprecision(n) 結合使用即可設置浮點數小數點後面數字的輸出精度,位數不足的補零。
以上均採用 “四捨五入” 的方法控制精度,三個控制符均包含在 std 命名空間中。
關於cout的一些使用方法:https://blog.csdn.net/qq_35481167/article/details/82792103(參考他的博客)