Run ID 作者 问题 语言 测评结果 Time Memory 代码长度 提交时间
104499 王子毅 11判断三角形 C++ Wrong Answer 1 MS 276 KB 1474 2025-01-05 11:23:51

Tests(0/10):


Code:

#include<iostream> #include<cmath> using namespace std; int main() { double a, b, c; // 提示用户输入三角形的三条边 cout << "请输入三角形的三条边 a, b, c 的长度:" << endl; cin >> a >> b >> c; // 首先判断是否能构成三角形:任意两边之和大于第三边 if ((a + b > c) && (a + c > b) && (b + c > a)) { cout << "可以构成三角形。" << endl; // 判断三角形的类型 if (a == b && b == c) { cout << "该三角形是等边三角形(Equilateral Triangle)。" << endl; } else if ((a == b) || (a == c) || (b == c)) { cout << "该三角形是等腰三角形(Isosceles Triangle)。" << endl; } else { // 判断是否为直角三角形,使用勾股定理的近似判断,考虑浮点数误差 double a_squared = a * a; double b_squared = b * b; double c_squared = c * c; if (fabs(a_squared + b_squared - c_squared) < 1e-10 || fabs(a_squared + c_squared - b_squared) < 1e-10 || fabs(b_squared + c_squared - a_squared) < 1e-10) { cout << "该三角形是直角三角形(Right Triangle)。" << endl; } else { cout << "该三角形是一般三角形(Simple Triangle)。" << endl; } } } else { cout << "不能构成三角形。" << endl; } return 0; }


Run Info:

------Input------
12 19 20
------Answer-----
Simple Triangle
------Your output-----
请输入三角形的三条边 a, b, c 的长度: 可以构成三角形。 该三角形是一般三角形(Simple Triangle)。