#t217. 海伦公式
海伦公式
海伦公式
题目描述
已知三角形三条边的长度,请你求出这个三角形的面积。
输入格式
输入三个浮点数,分别代表三条边的长度。
输出格式
输出该三角形的面积,保留 2 位小数。
样例输入
3 4 5
样例输出
6.00
提示
一、开平方:sqrt
double y = sqrt(9.0); // 3.0
double z = sqrt(2.0); // 1.41421356...
sqrt 是「square root」的缩写,参数和返回值都是 double。它定义在 <cmath> 里——用万能头 #include <bits/stdc++.h> 就已经包含了,不用额外写。
二、常见配套函数
| 函数 | 作用 | 例子 |
|---|---|---|
sqrt(x) |
开平方 | sqrt(16.0) = 4.0 |
fabs(x) |
绝对值(小数) | fabs(-2.5) = 2.5 |
pow(a,b) |
a 的 b 次方 | pow(2,3) = 8.0 |
三、三个坑
- 负数开方:
sqrt(-1)得到nan(not a number),后续计算全废。用之前确认被开方数非负。 - 用
%d输出:sqrt返回 double,必须用%f/%.2f。 - 以为结果是整数:
sqrt(9)得到3.000000,想输出整数要转(int)。
四、自检
把结果平方回去,应该约等于原数:3.0 * 3.0 = 9。如果差很多,检查是不是把公式里某一项写错了(尤其是括号)。
- 第一步算 p,第二步套根号;两步分开写。
- 三条边是小数,全程用 double。
- 保留 2 位小数。
自查:用
3 4 5 → 6.00验证;如果得到-nan,说明某条边大于半周长,公式里的乘法顺序或输入读错了。