题目描述
一个三角形的三边长分别是 a、b、c,那么它的面积为 ,其中 。输入这三个数字,计算三角形的面积,四舍五入精确到 1 位小数。
输入格式
第一行输入三个实数 a,b,c,以空格隔开。
输出格式
输出一个实数,表示三角形面积。精确到小数点后 1 位。
说明/提示
数据保证能构成三角形,0≤a,b,c≤1000,每个边长输入时不超过 2 位小数。
解题代码
注意:
1.边长数据有可能是小数
2.sqrt函数(用于求根)只能对double、float类型,且返回double类型
3.额外的头文件
4.输出精度控制
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
double a,b,c,p,s;
cin>>a>>b>>c;
p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
cout<<fixed<<setprecision(1)<<s;
return 0;
}