题解:P5708 【深基2.习2】三角形面积
P5708 题解
欢迎来到 AstralNahida 的题解频道!
由题意,三边长分别为 \(a\)、\(b\)、\(c\) 的三角形的面积 \(S=\sqrt{p(p−a)(p−b)(p−c)}\),其中 \(p=\frac{1}{2}(a+b+c)\)。相信大家看得出来,这其实就是著名的海伦-秦九韶公式。
要求输出面积,并保留一位小数。在 C++ 中,常用的做法有两种:
std::cout << std::fixed << std::setprecision(1) << x
;printf("%.1lf", x)
。
注意,这题所涉及的所有变量均应为 double
类型。
其他需要注意的就没什么了,接下来放出代码。
AC Code:
// 这里使用第一种方法。
#include <iostream>
#include <iomanip>
#include <cmath>
int main(void) {
double a, b, c, p, s;
std::cin >> a >> b >> c;
p = (a + b + c) / 2;
s = sqrt(p * (p - a) * (p - b) * (p - c));
std::cout << std::fixed << std::setprecision(1) << s << '\n';
return 0;
}
完结撒花!祝大家 rp++ 喵。