三角形面积(YZOJ-1014)

【问题描述】

一个三角形的三边长分别是 a 、 b 、 c a、b、c abc,那么它的面积为 p ( p − a ) ( p − b ) ( p − c ) \sqrt{p(p-a)(p-b)(p-c)} p(pa)(pb)(pc) ,其中 p = 1 2 ( a + b + c ) p=\dfrac{1}{2}(a+b+c) p=21(a+b+c)。输入这三个数字,计算三角形的面积,四舍五入精确到1位小数。保证能够构成三角形, 0 ≤ a , b , c ≤ 1000 0 \leq a,b,c \leq 1000 0a,b,c1000

【样例输入】

3 4 5

【样例输出】

6.0

【提示】

面积计算可使用海伦公式:
已知三角形边长 a 、 b 、 c a、b、c abc,半周长 p = ( a + b + c ) / 2 p=(a+b+c)/2 p=(a+b+c)/2,面积 s = ( p ∗ ( p − a ) ∗ ( p − b ) ∗ ( p − c ) ) s=\sqrt{(p*(p-a)*(p-b)*(p-c))} s=(p(pa)(pb)(pc))

cout语句中以"fixed< 例如cout<

【参考程序】

#include
using namespace std;
int main(){
     
    int a,b,c;
    cin>>a>>b>>c;
    double p=(a+b+c)/2.0;
    double s=sqrt(p*(p-a)*(p-b)*(p-c));
    cout<<fixed<<setprecision(1)<<s<<endl; 
    return 0; 
}

你可能感兴趣的:(#,OI,入门习题精选,线性代数,算法)