题目描述:

输入三个正整数,判断能否构成三角形的三边,如果不能,输出“NO”。如果能构成三角形,判断构成什么三角形?按等边、等腰、直角、一般三角形分类,依次输出对应的三角形类型“Equilateral”、"Isosceles"、“Right”、“General”。

输入格式:

输入正整数a,b,c,表示三角形的三条边长,每个数之间以一个空格隔开。

输出格式:

输出对应三角形的类型,如果不能构成三角形,输出“NO”,如果是等边三角形输出“Equilateral”, 如果是等腰三角形输出“Isosceles”,如果是直角三角形输出“Right”,其他三角形则输出“General”。

样例输入:

20 40 55

样例输出:

General

提示:

1<=a,b,c<=10000

时间限制: 1000ms
空间限制: 128MB

代码如下:
 

#include<bits/stdc++.h>
using namespace std;
int main(){
	long long a,b,c;
	cin>>a>>b>>c;
	if(a+b<=c||a+c<=b||c+b<=a){
		cout<<"NO";
		return 0;
	}
	if(a==b&&b==c){
		cout<<"Equilateral";
	}else if(a==b||a==c||b==c){
		cout<<"Isosceles";
	}else if(c*c==a*a+b*b||a*a==c*c+b*b||b*b==a*a+c*c){
		cout<<"Right";
	}else{
		cout<<"General";
	}
	return 0;
} 
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐