你还是先答清楚我a==b==c和a==b!=c之类是怎么运算的再说吧。
授人以渔,不授人以鱼。
#include <stdio.h> #include <stdlib.h> int main(void) { printf("请输入边长\n"); float a,b,c; scanf("%f,%f,%f",&a,&b,&c); if(a+b<=c||a+c<=b||b+c<=a) printf("不能构成三角形\n"); else { if(a==b&&a==c) printf("是等边三角形\n"); else if((a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)&&((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&c!=a))) printf("是等腰直角三角形\n"); else if((a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)) printf("是直角三角形\n"); } printf("三角形的面积是%f\n",(a+b+c)/2); return 0; }
#include <stdio.h> #include <stdlib.h> #include < math.h > int main(void) { printf("请输入边长\n"); float a,b,c,s, area; scanf("%f,%f,%f",&a,&b,&c); s = 1.0/2 * ( a + b + c ); area = sqrt ( s * ( s - a ) * ( s - b ) * ( s - c )); if(a+b<=c||a+c<=b||b+c<=a) printf("不能构成三角形\n"); else { if(a==b&&a==c) printf("是等边三角形\n"); else if((a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)&&((a==b&&a!=c)||(a==c&&a!=b)||(b==c&&c!=a))) printf("是等腰直角三角形\n"); else if((a*a+b*b==c*c||b*b+c*c==a*a||a*a+c*c==b*b)) printf("是直角三角形\n"); } printf("三角形的面积是%f\n", area); system ( "pause" ); return 0; }面积不是这样求的,Tonydeng说话是有点直,但他在为你好,看看我的吧,你错在哪自己看看。。。。