1. 程式人生 > >輸入三條邊並判斷是否為三角形,若能構成三角形,指出其為何種三角形:等邊、直角亦或者一般三角形

輸入三條邊並判斷是否為三角形,若能構成三角形,指出其為何種三角形:等邊、直角亦或者一般三角形

#include <math.h>
#define EPS 1e-1
int main()
{
    float a,b,c;
    int flag=1;
    printf("Input a,b,c:\n");
    scanf("%f,%f,%f",&a,&b,&c);
    if(a+b>c && b+c>a && a+c>b)
    {
        if(fabs(a-b)<=EPS && fabs(b-c)<=EPS && fabs(c-a)<=EPS)
        {
            printf
("\t等邊三角形\n"); flag=0; } else if(fabs(a-b)<=EPS || fabs(b-c)<=EPS || fabs(c-a)<=EPS) { printf("\t等腰角形\n"); flag=0; } if(fabs(a*a+b*b-c*c)<=EPS || fabs(a*a+c*c-b*b)<=EPS || fabs(c*c+b*b-a*a)<=EPS) { printf
("\t直角三角形\n"); flag=0; } if(flag) { printf("\t一般三角形\n"); } } else { printf("\t不是三角形\n"); } return 0; }

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述
這裡寫圖片描述
心得體會:等邊三角形是等腰的一種特例,不是等腰三角形的三角形一定不是等邊三角形,但不是等邊三角形的三角形可能是等腰三角形,所以要先判斷是否為等邊三角形,後在判斷是否為等腰三角形。