天天看點

算法基礎入門—求圓面積求圓面積

求圓面積

圓面積求法很簡單:π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;
           

繼續閱讀