求圆面积
圆面积求法很简单:π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;