哥帮帮我,明天交了,帮帮我

为什么输出错误

img

abc的类型改成float类型试试,可能是精度导致的。

#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c;
    scanf("%lf %lf %lf",&a,&b,&c);
    if (a+b>c && a+c>b && b+c > a)
    {
        if(a==b && b==c)
            printf("equilateral triangel\n");
        else if(a==b || a==c || b==c)
            printf("isoceles triangle\n");
        else if( (a == sqrt(b*b+c*c)) || (b==sqrt(a*a+c*c)) || (c==sqrt(a*a+b*b)) )
            printf("right-angled triangle\n");
        else
            printf("arbitrary triangle\n");
    }else
        printf("It isn't triangle.\n");
    return 0;
}

其他代码呢,先在本地测试一下。加点输出信息,在12行上面,把a,b,c的值输出看看。