洛谷刷题C++语言 | P5717 三角形分类
文章标签:
c++刷题软件
学习C++从娃娃抓起!记录下洛谷C++学习和备考过程中的题目,记录每一个瞬间。
附上汇总贴:洛谷刷题C++语言 | 汇总_热爱编程的通信人的博客-CSDN博客
【题目描述】
给出三条线段 a,b,c 的长度,均是不大于 10000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢?
- 如果三条线段不能组成一个三角形,输出Not triangle;
- 如果是直角三角形,输出Right triangle;
- 如果是锐角三角形,输出Acute triangle;
- 如果是钝角三角形,输出Obtuse triangle;
- 如果是等腰三角形,输出Isosceles triangle;
- 如果是等边三角形,输出Equilateral triangle。
如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
【输入】
输入 3 个整数 a、b 和 c。
【输出】
输出若干行判定字符串。
【输入样例】
3 3 3
【输出样例】
Acute triangle Isosceles triangle Equilateral triangle
【代码详解】
#include <bits/stdc++.h>
using namespace std;
int main()
{
int a,b,c,t1,t2;
cin >> a >> b >> c;
if(a>b) swap(a,b);
if(b>c) swap(b,c);
if(a>b) swap(a,b);
t1 = a*a + b*b;
t2 = c*c;
if(a+b<=c) cout << "Not triangle" << endl;
else {
if(t1 == t2) cout << "Right triangle" << endl;
if(t1 > t2) cout << "Acute triangle" << endl;
if(t1 < t2) cout << "Obtuse triangle" << endl;
if(a==b || b==c) cout << "Isosceles triangle" << endl;
if(a==b && b==c) cout << "Equilateral triangle" << endl;
}
return 0;
}
【运行结果】
1 14 5
Not triangle