c++ 输入三个数,判断能否以这三个数构成一个三角形

2024-12-29 17:44:08
推荐回答(2个)
回答1:

#include
using namespace std;

int main()

{

int a,b,c;

cin>>a;

cin>>b;

cin>>c;

if(a>b)
{
a=a+b;
b=a-b;
a=a-b;
}
if(b>c)
{
b=b+c;
c=b-c;
b=b-c;
}

if((a+b)<=c)

{
cout<<"不能构成三角形!!!"<}

else if(a==b && b==c)

{

cout<<"等边三角形!!!"<
}

else if(a==b || b==c || a==c)

{

cout<<"等腰三角形!!!"<
}

else if(a*a+b*b == c*c)

{

cout<<"直角三角形!!!"<
}

else

{

cout<<"斜三角形!!!"<
}
return 0;
}

回答2:

像你这样如果是输入三个坐标的话是不可能出现一条边大于另外两个边的情况,只有出现3个点是否在一条直线的情况
可以编写一个判断函数
bool
istriangle()
{if((y2-y1)/(x2-x1)==(y3-y2)/(x3-x2))
return
0;
else
return
1;
}