求三角形面积

Description

已知一个三角形的三条边的边长分别为a,b,c,求这个三角形的面积s。

Input

三个正整数a,b,c,分别用空格隔开。0 < a,b,c < 1000,数据保证任意两条边长之和大于或等于第三条边。

Output

这个三角形的面积s,保留三位有效数字

Sample Input

3 4 5

Sample Output

6.000

HINT

开方使用sqrt函数,例如√25,写成sqrt(25),结果为5

python解法

import math

# 从标准输入读取三个浮点数
a, b, c = map(float, input().split())

p = (a + b + c) / 2

# 检查是否构成三角形
if a + b > c and a + c > b and b + c > a:
    # 计算并输出三角形面积
    s = math.sqrt(p * (p - a) * (p - b) * (p - c))
    print("%.3f" % s)
else:
    print("输入有误")

c++解法

#include <bits/stdc++.h>
using namespace std;

int main() {
    double a, b, c, p;

    // 从标准输入读取三个浮点数
    cin >> a >> b >> c;

    p = (a + b + c) / 2;

    // 检查是否构成三角形
    if (a + b > c && a + c > b && b + c > a) {
        // 计算并输出三角形面积
        double s = sqrt(p * (p - a) * (p - b) * (p - c));
        cout << fixed << setprecision(3);
        cout << s << endl;
    } else {
        cout << "输入有误" << endl;
    }

    return 0;
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
THE END