给出三条线段 a,b,ca,b,ca,b,c 的长度,均是不大于 100001000010000 的正整数。打算把这三条线段拼成一个三角形,它可以是什么三角形呢? 如果三条线段不能组成一个三角形,输出Not triangle; 如果是直角三角形,输出Right triangle; 如果是锐角三角形,输出Acute triangle; 如果是钝角三角形,输出Obtuse triangle; 如果是等腰三角形,输出Isosceles triangle; 如果是等边三角形,输出Equilateral triangle。 如果这个三角形符合以上多个条件,请按以上顺序分别输出,并用换行符隔开。
时间: 2023-05-16 14:05:40 浏览: 124
这是一个编程类的问题,我可以回答。以下是代码实现:
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
int arr[3] = {a, b, c};
sort(arr, arr+3);
if (arr[0] + arr[1] <= arr[2]) {
cout << "Not triangle" << endl;
return 0;
}
if (arr[0]*arr[0] + arr[1]*arr[1] == arr[2]*arr[2]) {
cout << "Right triangle" << endl;
}
else if (arr[0]*arr[0] + arr[1]*arr[1] > arr[2]*arr[2]) {
cout << "Acute triangle" << endl;
}
else {
cout << "Obtuse triangle" << endl;
}
if (arr[0] == arr[1] || arr[1] == arr[2]) {
cout << "Isosceles triangle" << endl;
}
if (arr[0] == arr[1] && arr[1] == arr[2]) {
cout << "Equilateral triangle" << endl;
}
return 0;
}
如果三角形符合多个条件,会按照题目要求依次输出,每个输出后换行。
阅读全文