C++中判断三角形形状
时间: 2024-06-13 18:03:41 浏览: 20
在C++中,可以通过输入三角形的三个边长,使用if语句判断三角形的形状。具体的判断方法如下:
1. 首先判断三条边能否构成三角形,如果不能,则输出"no"。
2. 如果可以构成三角形,则继续判断三角形的形状。
3. 如果三条边相等,则为等边三角形。
4. 如果有两条边相等,则为等腰三角形。
5. 如果三条边满足勾股定理,则为直角三角形。
6. 如果三条边都不相等,也不满足勾股定理,则为钝角三角形。
7. 如果需要计算三角形的周长和面积,可以使用三角形的海伦公式。
下面是一个示例代码:
```
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int a, b, c;
cin >> a >> b >> c;
if (a + b > c && b + c > a && a + c > b) {
// 可以构成三角形
if (a == b && b == c) {
cout << "equilateral" << endl;
} else if (a == b || b == c || c == a) {
cout << "isosceles" << endl;
} else if (a*a + b*b == c*c || b*b + c*c == a*a || a*a + c*c == b*b) {
cout << "right" << endl;
} else {
cout << "obtuse" << endl;
}
// 计算周长和面积
double p = (a + b + c) / 2.0;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
cout << "Perimeter: " << a + b + c << endl;
cout << "Area: " << area << endl;
} else {
// 不能构成三角形
cout << "no" << endl;
}
return 0;
}
```
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![cpp](https://img-home.csdnimg.cn/images/20210720083646.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/x-java](https://img-home.csdnimg.cn/images/20210720083646.png)