为什么输出错误
abc的类型改成float类型试试,可能是精度导致的。
#include <stdio.h>
#include <math.h>
int main()
{
double a,b,c;
scanf("%lf %lf %lf",&a,&b,&c);
if (a+b>c && a+c>b && b+c > a)
{
if(a==b && b==c)
printf("equilateral triangel\n");
else if(a==b || a==c || b==c)
printf("isoceles triangle\n");
else if( (a == sqrt(b*b+c*c)) || (b==sqrt(a*a+c*c)) || (c==sqrt(a*a+b*b)) )
printf("right-angled triangle\n");
else
printf("arbitrary triangle\n");
}else
printf("It isn't triangle.\n");
return 0;
}
其他代码呢,先在本地测试一下。加点输出信息,在12行上面,把a,b,c的值输出看看。