题目描述
输入三角形三条边的长度a、b、c,判断它们分别能构成什么形状的三角形:普通三角形、等边三角形、等腰三角形、等腰直角三角形。
(提示:判断两个浮点数a、b相等,可以使用fabs(a-b)<0.001 )
输入
三条边的长度
输出
三角形类型的名称;如果不能构成三角形,就输出“非三角形”
#include
#include
int main() {
double a, b, c;
scanf("%lf %lf %lf", &a, &b, &c);
if (a + b > c && a + c > b && b + c > a)
{
if (fabs(a-b)<0.001 && fabs(b-c)<0.001)
{
printf("等边三角形");
}
else if (fabs(a-b)<0.001 || fabs(a-c)<0.001 || fabs(b-c)<0.001)
{
if (fabs(a * a + b * b - c * c)<0.001 || fabs( a * a + c * c - b * b)<0.001 || fabs( b * b + c * c - a * a)<0.001)
printf("等腰直角三角形");
else
printf("等腰三角形");
}
else if (fabs(a * a + b * b - c * c)<0.001 || fabs( a * a + c * c - b * b)<0.001 || fabs( b * b + c * c - a * a)<0.001)
{
printf("直角三角形");
}
else
printf("普通三角形");
} else
printf("非三角形");
return 0;
}