//从键盘任意输入三个数分别作为三角形的三边a,b,c,编程计算这三个数能否构成三角形
#include<stdio.h>
#include<math.h>
#define EPS 1e-1
main()
{
float a,b,c;
int flag=1;
printf("Please enter a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
if(fabs(a-b)<=EPS&&fabs(b-c)<=EPS&&fabs(c-a)<=EPS)
{
printf("等边"); //等边三角形
flag=0; //置标志变量flag为0
}
else if(fabs(a-b)<=EPS||fabs(b-c)<=EPS||fabs(c-a)<=EPS)
{
printf("等腰"); //等腰三角形
flag=0; //置标志变量flag为
}
if(fabs(a*a+b*b-c*c)<=EPS||fabs(b*b+c*c-a*a)<=EPS||fabs(a*a+c*c-b*b)<=EPS)
{
printf("直角");
flag=0;
}
if(flag)
{
printf("一般");
}
printf("三角形\n");
}
else
{
printf("不是三角形\n");
}
}
运行结果:
知识点:对逻辑语句与if else语句的综合运用
心得体会:禁忌将和(&&)与或(||)混淆