酷代码 AI
菜单
服务商

C++ 实现:根据三边判断三角形是否构成及类型(附代码详解)

```cpp #include <iostream> #include <algorithm> #include <cmath> int main() { double a, b, c; std::cin >> a >> b >> c; // 对三边进行排序,确保c是最长边 double sides[3] = {a, b, c}; std::sort(sides, sides + 3); a = sides[0]; b = sides[1]; c = sides[2]; // 判断是否能构成三角形 if (a + b <= c) { std::cout << "no" << std::endl; } else { // 计算a^2 + b^2和c^2的值 double sumOfSquares = std::pow(a, 2) + std::pow(b, 2); double squareOfLongest = std::pow(c, 2); // 判断三角形类型 if (sumOfSquares > squareOfLongest) { std::cout << "acute" << std::endl; } else if (sumOfSquares == squareOfLongest) { std::cout << "right" << std::endl; } else { std::cout << "obtuse" << std::endl; } } return 0; } ``` 代码解释: 1. 输入三边:程序首先从标准输入读取三个浮点数`a`、`b`、`c`,代表三角形的三条边。 2. 排序:将三边放入数组并排序,确保`c`是最长边,方便后续判断。 3. 判断能否构成三角形:根据三角形的性质,若两边之和小于等于第三边,则不能构成三角形,输出`no`。 4. 判断三角形类型: - 计算`a`和`b`的平方和`sumOfSquares`以及最长边`c`的平方`squareOfLongest`。 - 若`sumOfSquares > squareOfLongest`,则为锐角三角形,输出`acute`。 - 若`sumOfSquares == squareOfLongest`,则为直角三角形,输出`right`。 - 若`sumOfSquares < squareOfLongest`,则为钝角三角形,输出`obtuse`。 ######[AI问答 | 537点数解答 | 2025-09-15 20:22:35]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]