輸入三條邊並判斷是否為三角形,若能構成三角形,指出其為何種三角形:等邊、直角亦或者一般三角形
阿新 • • 發佈:2019-02-11
#include <math.h>
#define EPS 1e-1
int main()
{
float a,b,c;
int flag=1;
printf("Input a,b,c:\n");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c && b+c>a && a+c>b)
{
if(fabs(a-b)<=EPS && fabs(b-c)<=EPS && fabs(c-a)<=EPS)
{
printf ("\t等邊三角形\n");
flag=0;
}
else if(fabs(a-b)<=EPS || fabs(b-c)<=EPS || fabs(c-a)<=EPS)
{
printf("\t等腰角形\n");
flag=0;
}
if(fabs(a*a+b*b-c*c)<=EPS || fabs(a*a+c*c-b*b)<=EPS || fabs(c*c+b*b-a*a)<=EPS)
{
printf ("\t直角三角形\n");
flag=0;
}
if(flag)
{
printf("\t一般三角形\n");
}
}
else
{
printf("\t不是三角形\n");
}
return 0;
}
心得體會:等邊三角形是等腰的一種特例,不是等腰三角形的三角形一定不是等邊三角形,但不是等邊三角形的三角形可能是等腰三角形,所以要先判斷是否為等邊三角形,後在判斷是否為等腰三角形。