由于C语言中在输入时不能输入根号下二,这时需要1.414来代替根号下二
而使成为等腰直角三角形的条件是 a*a+b*b==c*c&&(c>a&&b==a)
但由于根号下二约等于1.414,此时需要减小精度或者规定范围来使条件成立
即为 1.414> fabs(b-c)>1E-2;
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
a>=b&&b>=c;
if(b+c>a&&a-c<b)
{if(c*c+b*b==a*a)
{if(c==b&&(1.414> fabs(b-c)>1E-2));
{
printf("输出是等腰直角三角形\n");
}
else
{
printf("输出是直角三角形\n");
}
}
else
{if(a==b||b==c)
{if(a==c)
{
printf("输出是等边三角形\n");
}
else
{
printf("输出是等腰三角形\n");
}
}
else
{
printf("输出是一般三角形");
}
}
}
else
{
printf("输出不能构成三角形\n");
}
while(1);
return 0;
}