1360: 三角形面积(已知三边为任意正整数)

Memory Limit:128 MB Time Limit:1.000 S Judge Style:Text Compare Creator:
Submit:176 Solved:125

Description

已知三角形的3边长a,b,c,求三角形的面积。

不允许普通用户打印题目,请教师登录后使用。如有疑问请联系管理员!

Input

包含3个正整数a,b,c,a,b,c均大于0且小于1000。

Output

输出面积值,保留4位小数。如果三边不能构成三角形,则输出-1。两边之和等于第三边时不构成三角形。

Sample Input Copy

3 4 5

Sample Output Copy

6.0000

HINT

1:利用“海伦-秦九韶公式”计算三角形面积:△=s(s-a)(s-b)(s-c)的开平方。其中s=(a+b+c)/2。
2:注意数学公式的形式与C语言表达此公式的不同之处。
例如:
(1)在数学公式中的“乘法”运算符经常省略不写,但是在程序必须明确写出何处是乘法运算。例如上式应该写成s*(s-a)*(s-b)*(s-c)。
(2)如果变量a,b,c是整数时,计算s的时候一定注意数据类型的转换。应该写成s=(a+b+c)/2.0或者写成 s=(a+b+c)/(double)(2)
3:对于带小数点的数据,由于float型是单精度的,精度较小,所以必须使用double型(双精度型)才能保证精度。对于double型的变量进行输入和输出,注意其格式控制符为%lf。
举例如下:
double a; //定义双精度变量a
scanf("%lf",&a);//输入数据(可带小数点)的数据到变量a
printf("%.4lf",a); //输出数据a,保留4位小数。
4:求平方根可利用数学函数库中的现成函数,具体请自己查阅C程序设计教材和有关资料。