求圓面積
圓面積求法很簡單:πr2 但對于新手須注意的是對于π的值不能取簡單的3.1415926。例如、這題要求保留小數位後7位,π的值必須能保證面積後8位都是精确的值。π可以取PI=3.14159265358979323,也可以利用math.h(cmath)下的PI=4.0*atan(1.0).
tan45o=1=π/4
是以反三角函數就是就atan(1.0) 再乘以4就是π
問題描述
給定圓的半徑r,求圓的面積。
輸入格式
輸入包含一個整數r,表示圓的半徑。
輸出格式
輸出一行,包含一個實數,四舍五入保留小數點後7位,表示圓的面積。
樣例輸入
4
樣例輸出
50.2654825
資料規模與約定
1 <= r <= 10000
小數點後保留7位小數在
c++中要利用到fixed和iomanip庫函數下的setprecision(n)函數。
c中隻需要在輸出時 printf("%.7f", s);
#include <iostream>
#include <iomanip>
#include <cmath>
using namespace std;
int main()
{
int r;
cin>>r;
double s;
s=4.0*atan(1.0)*r*r;
cout<<fixed<<setprecision(7)<<s<<endl;
}
我做個小擴充:
setprecision(n)它是隻用寫一次,也能對後面的數字産生影響,但新手往往會犯一些搞笑的錯誤
double n=123.456;
cout<<setprecision(2)<<n<<endl; //12;
cout<<fixed<<setprecision(2)<<n<<endl; //123.45;
cout<<n<<endl; //12;