天天看点

算法基础入门—求圆面积求圆面积

求圆面积

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

继续阅读