题目:P5717 【深基3.习8】三角形分类
给出三条线段 a,b,ca,b,c 的长度,均是不大于 10000 的整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?如果三条线段不能组成一个三角形,输出Not triangle; 如果是直角三角形,输出Right triangle;
如果是锐角三角形,输出Acute triangle; 如果是钝角三角形,输出Obtuse triangle;
如果是等腰三角形,输出Isosceles triangle; 如果是等边三角形,输出Equilateral triangle。
如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
注意:数组定义初始化
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c;
cin>>a>>b>>c;
int t[4]={0,a,b,c}; // 过大:int t[3]={0,a,b,c};//坑:注意先后顺序
sort(t+1,t+4);
if(t[1]+t[2]<=t[3])
{
cout<<"Not triangle"<<endl;
}
else{
if(t[1]*t[1]+t[2]*t[2]<t[3]*t[3])
{
cout<<"Obtuse triangle"<<endl;
}
if(t[1]*t[1]+t[2]*t[2]>t[3]*t[3])
{
cout<<"Acute triangle"<<endl;
}
if(t[1]*t[1]+t[2]*t[2]==t[3]*t[3])
{
cout<<"Right triangle"<<endl;
}
if(t[1]==t[2])
{
cout<<"Isosceles triangle"<<endl;
}
if(t[1]==t[2]&&t[1]==t[3])
{
cout<<"Equilateral triangle"<<endl;
}}
return 0;
}