提交数: 6480, 通过率: 25.73%, 平均分: 63.16
题目描述:
输入三个正整数,判断能否构成三角形的三边,如果不能,输出“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>
#include<cmath>
using namespace std;
int main() {
int 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";
return 0;
}
if(a==b||a==c||b==c)
{
cout<<"Isosceles";
return 0;
}
if(c*c==a*a+b*b||a*a==c*c+b*b||b*b==a*a+c*c)
{
cout<<"Right";
return 0;
}
cout<<"General";
return 0;
}
今天就写到这!