題解:
分析:
這裡主要用到海倫公式計算三角形的面積,如果不知道海倫公式,很難做出來。不過題目已經給出了海倫公式了,是以這是一道水題。
題目要求精确到一位小數,并且四舍五入。
兩個代碼測試了都可以,代碼一是主動進行四舍五入操作的。代碼二預設截斷資料也是按四舍五入進行的。經過測試,至少在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;
}