题解:
分析:
这里主要用到海伦公式计算三角形的面积,如果不知道海伦公式,很难做出来。不过题目已经给出了海伦公式了,所以这是一道水题。
题目要求精确到一位小数,并且四舍五入。
两个代码测试了都可以,代码一是主动进行四舍五入操作的。代码二默认截断数据也是按四舍五入进行的。经过测试,至少在DEVC++ minGW编译器是对格式化%.1lf数据后面的小数位进行四舍五入操作的。
代码一:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
cin >> a >> b >> c;
double p = (a + b + c) / 2;
printf("%.1lf", round(sqrt(p * (p - a) * (p - b) * (p - c)) * 10) / 10);
return 0;
}
代码二:
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c;
cin >> a >> b >> c;
double p = (a + b + c) / 2;
printf("%.1lf", sqrt(p * (p - a) * (p - b) * (p - c));
return 0;
}