为什么错了.#include#include#includevoid main(){ float a,b,c,l,s;

1个回答

  • #include

    #include

    void main()

    {

    float a,b,c,l,s;

    printf("请输入三角形三边n");

    scanf("%f%f%f",&a,&b,&c);

    if(a+b>c&&a+c>b&&b+c>a)

    {

    l=(float)((a+b+c)/2);//看你意思应该是用的海伦公式了,那么除2应该是在a、b、c加完后再除

    s=(float)(sqrt(l*(l-a)*(l-b)*(l-c)));//leng应该为l

    if(a==b&&b==c)

    {

    printf("此三角形为等边三角形,面积为%fn",s);

    }

    else if(a==b||a==c||b==c)

    {

    printf("此三角形为等腰三角形,面积为%fn",s);

    }

    else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)//==不能写成=

    {

    printf("此三角形为直角三角形,面积为%fn",s);

    }

    else if(a==b&&a*a+b*b==c*c||a==c&&a*a+c*c==b*b||b==c&&b*b+c*c==a*a)//==不能写成=

    {

    printf("此三角形为等腰直角三角形,面积为%fn",s);

    }

    else

    {

    printf("此三角形为一般三角形,面积为%fn",s);

    }

    }

    else

    {

    printf("不能构成三角形n");

    }

    }

    给你个建议,写多个表达式时不要怕麻烦,多写几个括号,按自己设定的运行方式把表达式括起来,这样一是不容易范错,毕竟各种运算符的优先级有时还是怕弄错的,如果加了括号就不会出现了,而且别人看你代码也易懂一些