三角形面积 一个三角形的三边长分别是a、b、c,那么它的面积为 √p(p-a)(p-b)(p-c),其中p=(a+b+c) 2 输入三个数字,计算三角形的面积,四舍五入精确到1位小数。提示:若故意输出不合法边长,比如两边和小于第三边,会怎样?帮我编写c++代码
时间: 2024-10-06 09:06:45 浏览: 34
三角形面积的计算确实涉及到海伦公式(Heron's formula),您可以按照以下C++代码来实现:
```cpp
#include <iostream>
#include <cmath>
#include <iomanip>
double calculateTriangleArea(double a, double b, double c) {
// 检查输入的边长是否满足三角形条件 (任意两边之和大于第三边)
if (a + b > c && a + c > b && b + c > a) {
double p = (a + b + c) / 2; // 半周长
double area = std::sqrt(p * (p - a) * (p - b) * (p - c)); // 海伦公式计算面积
return std::fixed << std::setprecision(1) // 四舍五入到1位小数
<< area;
} else {
std::cerr << "Invalid triangle sides! The sum of any two sides should be greater than the third side." << std::endl;
return 0; // 如果边长不合法,返回0表示无法计算
}
}
int main() {
double a, b, c;
std::cout << "Enter the lengths of the three sides of the triangle: ";
std::cin >> a >> b >> c;
double triangle_area = calculateTriangleArea(a, b, c);
std::cout << "The area of the triangle is: " << triangle_area << std::endl;
return 0;
}
```
在这个程序中,用户会被提示输入三角形的三条边长,如果输入合法,就会计算出面积并四舍五入至1位小数;如果输入不合法,它将输出错误信息。
阅读全文