题解:洛谷 P5708 【深基2.习2】三角形面积

【题目来源】

洛谷:P5708 【深基2.习2】三角形面积 - 洛谷

【题目描述】

一个三角形的三边长分别是 \(a\)\(b\)\(c\),那么它的面积为 \(\sqrt {p(p-a)(p-b)(p-c)}\),其中 \(p = \frac{1}{2}(a+b+c)\)输入这三个数字,计算三角形的面积,四舍五入精确到 \(1\) 位小数。

【输入】

第一行输入三个实数 \(a\)\(,\)\(b\)\(,\)\(c\),以空格隔开。

【输出】

输出一个实数,表示三角形面积。精确到小数点后 \(1\) 位。

【输入样例】

3 4 5

【输出样例】

6.0

【算法标签】

《洛谷 P5708 三角形面积》 #Special judge#

【代码详解】

#include <iostream>   // 包含输入输出流库(Mac环境替代<bits/stdc++.h>)
#include <cmath>      // 包含数学函数库(使用sqrt函数)
using namespace std;   // 使用标准命名空间

/**
 * 主函数 - 程序入口
 * @return 程序执行状态码(0表示成功)
 */
int main()
{
    double a, b, c;    // 定义三角形三边长度
    double p, ans, t;  // 定义中间变量:半周长p,面积ans,临时变量t
    
    cin >> a >> b >> c; // 输入三角形三条边长
    
    p = 0.5 * (a + b + c);         // 计算三角形半周长
    t = p * (p - a) * (p - b) * (p - c); // 海伦公式中间计算
    ans = sqrt(t);                 // 开平方得到最终面积
    
    printf("%.1f", ans);           // 格式化输出面积(保留1位小数)
    
    return 0;                      // 返回程序执行成功状态码
}

【运行结果】

3 4 5
6.0
posted @ 2026-02-16 07:55  团爸讲算法  阅读(7)  评论(0)    收藏  举报