应该是
else
if(a+b<=c||a+c<=b||b+c<=a)
printf("不能构成三角形.\n");
吧,比如1
2
3为三条边,1+2<=3,但是1+3>2,2+3>1,不能同时小于的,是或的关系
你的if语句也有问题,全程序应该在这样
#include
void
main()
{
int
a,b,c;
printf("请输入三个边长:\n");
scanf("%d
%d
%d",&a,&b,&c);
if(a+b>c
&&
a+c>b
&&
b+c>a)
{
if(a*a==b*b+c*c
||
b*b==a*a+c*c
||
c*c==a*a+b*b)
printf("直角三角形。\n");
else
if(a==b
&&
a==c)
printf("等边三角形。\n");
else
if(a==b||b==c||a==c)
printf("等腰三角形。\n");
}
else
if(a+b<=c
||
a+c<=b
||
b+c<=a)
printf("不能构成三角形。\n");
}
你缺{
}每个判断都应该加。。最后的else不需要if了
#include
main()
{
int
a,b,c;
printf("请输入三个边长:\n");
scanf("%d
%d
%d",&a,&b,&c);
if(a+b>c
&&
a+c>b
&&
b+c>a)
{
if(a*a==b*b+c*c
||
b*b==a*a+c*c
||
c*c==a*a+b*b)
{
printf("直角三角形。\n");
}
else
{
if(a==b
&&
a==c)
{
printf("等边三角形。\n");
}
else
{
if(a==b||b==c||a==c)
{
printf("等腰三角形。\n");
}
else
{
printf("普通三角形。\n");
}
else
{
printf("不能构成三角形。\n");
}
}
#include
main()
{
int
a,b,c;
printf("请输入三个边长:\n");
scanf("%d
%d
%d",&a,&b,&c);
if(a+b>c
&&
a+c>b
&&
b+c>a)
{
if(a*a==b*b+c*c
||
b*b==a*a+c*c
||
c*c==a*a+b*b)
printf("直角三角形。\n");
else
if(a==b
&&
a==c)
printf("等边三角形。\n");
else
if(a==b||b==c||a==c)
printf("等腰三角形。\n");
}
else
printf("不能构成三角形。\n");
}
是开始的if语句出现错误,自己看代码就明白了