#include
#include
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
//double a,b,c;
//scanf("%f %f %f",&a,&b,&c);
if(a==b&&b==c)
printf("等边三角形\n");
else if((a==b&&b!=c)||(a==c&&b!=c)||(b==c&&a!=c))
printf("等腰三角形\n");
else if(a*a+b*b==c*c||a*a+c*c==b*b||b*b+c*c==a*a)
printf("直角三角形\n");
else if(c>=a+b||b>=a+c||a>=b+c||a==0||b==0||c==0)
printf("这他妈怎么可能是三角形\n");
else
printf("不等边三角形\n");
return 0;
}
问题是这样的,我把三个边的数据类型改为双精度类型之后,出现只执行到直角那里。但是我要用到整型的话,这就是正常的,想想好像应该和数据在内存中的表现有关,但是具体过程还是不太明白,求高手赐教。