c++如果计算三角形面积
时间: 2024-10-15 14:07:10 浏览: 37
求直角三角形的面积.txt
在C++中计算三角形面积,最常用的是海伦公式(Heron's formula),它是基于三角形三边长a, b, c来计算的。如果你有两边和它们之间的夹角(不是全等三角形),可以先计算半周长p,然后再用正弦定理求面积。以下是两种情况下的代码示例:
**1. 使用海伦公式(已知三边长):**
```cpp
#include <iostream>
#include <cmath>
double triangleArea(double a, double b, double c) {
// 计算半周长
double p = (a + b + c) / 2;
// 使用海伦公式计算面积
double area = std::sqrt(p * (p - a) * (p - b) * (p - c));
return area;
}
int main() {
double side_a, side_b, side_c;
std::cout << "Enter the lengths of the sides: ";
std::cin >> side_a >> side_b >> side_c;
double result = triangleArea(side_a, side_b, side_c);
std::cout << "The area of the triangle is: " << result << std::endl;
return 0;
}
```
**2. 使用正弦定理(已知两边及其夹角θ):**
```cpp
#include <iostream>
#include <cmath>
double to_radians(double degrees) {
return degrees * M_PI / 180.0;
}
double triangleAreaFromSidesAndAngle(double a, double b, double angle_degrees) {
double angle_rad = to_radians(angle_degrees);
double s = (a + b + std::sqrt(a*a + b*b - 2*a*b*cos(angle_rad))) / 2; // 半周长
double area = std::sqrt(s * (s - a) * (s - b) * (s - (a + b)));
return area;
}
int main() {
double side_a, side_b, angle_degrees;
std::cout << "Enter the lengths of sides and the included angle in degrees: ";
std::cin >> side_a >> side_b >> angle_degrees;
double result = triangleAreaFromSidesAndAngle(side_a, side_b, angle_degrees);
std::cout << "The area of the triangle is: " << result << std::endl;
return 0;
}
```
请记得,在输入角度时,注意角度单位的一致性。
阅读全文