求助!一道题 为什么结果老是不对
题目是这样的。用C语言写输入三角形的三边边长
判断能否构成三角形
如果能构成三角形 判断是等腰直角三角形 还是直角三角形或者等边三角形
并计算出三角形的面积 公式为:(a+b+c)/2
为什么我每次输入3,4,5 结果却显示是等腰直角三角形 求解释。
程序代码:
#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==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!=c||a==c!=b||b==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; }求修改。!