输入3 个正数,判断它们是否可能是一个三角形的边长。
如果可能,应用海伦公式计算并输出三角形的面积 (保留2位 小数)如果不可能,输出他们的最大值和最小值的差 (保留 2 位 小数)。
附海伦公式: S=√s(s -a)(s - b)(s -),s =(a+b+c)/2
【输入格式】
3个大于0的双精度浮点数
【输出格式】
保留2位小数
【输入样例】
345
【输出样例】
6.00
完整代码:
#include <stdio.h>
#include<stdlib.h>
#include<math.h>
int main()
{
double a, b, c,area,s,max,min;
scanf("%lf%lf%lf", &a, &b, &c);
if ((a + b > c && a + c > b && b + c > a) && (a > b - c && b > a - c && c > a - b))
{
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("%.2lf\n", area);
}
else
{
if (a > b)
max = a, min = b;
else
max = b, min = a;
if (c > max)
max = c;
else
max = max;
if (c < min)
min = c;
else
min = min;
printf("%.2lf", max - min);
}
system("pause");
return 0;
}