发布网友
共4个回答
热心网友
if(fabs(a-b)<=eps&&fabs(b-c)<=eps&&fabs(c-a)<=eps)
{
printf("等边三角形");
flag=0;
}
else if(fabs(a-b)<=eps||fabs(b-c)<=eps||fabs(c-a)<=eps)
{
printf("等腰三角形");
flag=0;
}
else 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("直角三角形");
flag=0;
}
else //if(flag)
{
printf("一般三角形");
}
修改了
热心网友
#include<stdio.h>
#include<math.h>
#define eps 1e-1
main()
{
float a,b,c;
int flag=1;
printf("请输入3条边用逗号隔开");
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;
}
if(fabs(a-b)<=eps||fabs(b-c)<=eps||fabs(c-a)<=eps)
{
printf("等腰三角形");
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("直角三角形");
flag=0;
}
if(flag)
{
printf("一般三角形");
}
}
else
{
printf("不是三角形");
}
return 0;
}
可以运行
热心网友
没有错误啊,我输入2,3,4.结果是一般三角形
热心网友
输入值时,应是如“4,4,4”,数值间有逗号;
还有把
if(fabs(a-b)<=eps||fabs(b-c)<=eps||fabs(c-a)<=eps)改为if((fabs(a-b)<=eps&&fabs(b-c)>=eps)||(fabs(b-c)<=eps&&fabs(a-b)>=eps)||(fabs(c-a)<=eps&&fabs(b-c)>=eps))