题目描述
给出三条线段 $a,b,c$ 的长度,均是不大于 $10000$ 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
- 如果三条线段不能组成一个三角形,输出
Not triangle
; - 如果是直角三角形,输出
Right triangle
; - 如果是锐角三角形,输出
Acute triangle
; - 如果是钝角三角形,输出
Obtuse triangle
; - 如果是等腰三角形,输出
Isosceles triangle
; - 如果是等边三角形,输出
Equilateral triangle
。
如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
输入格式
输入 3 个整数 $a$、$b$ 和 $c$。
输出格式
输出若干行判定字符串。
样例 #1
样例输入 #1
3 3 3
样例输出 #1
Acute triangle
Isosceles triangle
Equilateral triangle
样例 #2
样例输入 #2
3 4 5
样例输出 #2
Right triangle
样例 #3
样例输入 #3
6 10 6
样例输出 #3
Obtuse triangle
Isosceles triangle
样例 #4
样例输入 #4
1 14 5
样例输出 #4
Not triangle
#include <stdio.h>
int main()
{
int a,b,c,x,y,z;
scanf("%d %d %d",&a,&b,&c);
if(a>=b&&b>=c)
{
x=c;y=b;z=a;
}
if(a>=c&&c>=b)
{
x=b;y=c;z=a;
}
if(b>=a&&a>=c)
{
x=c;y=a;z=b;
}
if(b>=c&&c>=a)
{
x=a;y=c;z=b;
}
if(c>=b&&b>=a)
{
x=a;y=b;z=c;
}
if(c>=a&&a>=b)
{
x=b;y=a;z=c;
}
if(x+y<=z)
{
printf("Not triangle\n");
}
else{
if(x*x+y*y==z*z)
{
printf("Right triangle\n");
if(x==y)
{
printf("Isosceles triangle\n");
}
}
if(x*x+y*y>z*z)
{
printf("Acute triangle\n");
if((y==z&&z!=x)||(a==b&&b==c))
{
printf("Isosceles triangle\n");
}
if(a==b&&b==c)
{
printf("Equilateral triangle\n");
}
}
if(x*x+y*y<z*z)
{
printf("Obtuse triangle\n");
if(x==y)
{
printf("Isosceles triangle\n");
}
}
}
return 0;
}