三角形判断(分支结构)

【id:20】【5分】G. 三角形判断(分支结构)

题目描述

输入三角形三条边的长度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;
}

你可能感兴趣的:(oj作业录,c++,算法,开发语言)