用cpp编写程序,根据输入的三角形的三条边计算输出面积
时间: 2023-04-12 11:01:52 浏览: 137
好的,以下是用 C++ 编写的计算三角形面积的程序:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
int main() {
double a, b, c, s, area;
cout << "请输入三角形的三条边长:";
cin >> a >> b >> c;
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
cout << "三角形的面积为:" << area << endl;
return 0;
}
```
输入三角形的三条边长,程序会自动计算并输出三角形的面积。
请问还有什么问题需要我回答吗?
相关问题
编写程序,输入三角形的三条边长,先判断是否可以构成三角形,如果可以,则输出三角形的周长和面积(计算的周长和面积保留一位小数))
好的,我可以帮您编写这个程序。以下是示例代码:
```
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main() {
double a, b, c;
// 输入三角形的三条边长
cout << "请输入三角形的三条边长:";
cin >> a >> b >> c;
// 判断是否可以构成三角形
if (a + b > c && a + c > b && b + c > a) {
// 计算周长
double perimeter = a + b + c;
// 计算面积
double p = perimeter / 2;
double area = sqrt(p * (p - a) * (p - b) * (p - c));
// 输出结果
cout << "该三角形的周长为:" << fixed << setprecision(1) << perimeter << endl;
cout << "该三角形的面积为:" << fixed << setprecision(1) << area << endl;
} else {
cout << "输入的三条边长不能构成三角形!" << endl;
}
return 0;
}
```
请您将这段代码保存为一个名为`triangle.cpp`的文件,然后使用C++编译器编译并运行即可。希望这可以帮到您!如果您有其他问题,随时都可以问我哦~
3) 编写函数,根据三边长度求取三角形面积(三边长度默认为 3,4,5)。编写 main 函数对该函数进行测试,考虑不输入任何边长度、输入一条边长度、输入二条边长度和输入三条边长度几种情况下,分别输出函数计算后的面积,程序命名lab1_3cpp
在C++中,我们可以编写一个名为`triangle_area`的函数来计算给定三边长度的三角形面积。这里我们通常使用海伦公式(Heron's formula),当三边已知时,可以有效地计算出面积。然而,对于特殊情况,如只提供一条边或两条边的情况,我们需要检查它们是否满足构成三角形的条件(两边之和大于第三边),如果不符合则返回错误信息。
以下是一个简单的实现示例:
```cpp
#include <iostream>
#include <cmath>
// 计算三角形面积
double triangle_area(double a, double b, double c) {
// 校验是否能构成三角形
if (a + b > c && a + c > b && b + c > a) {
double s = (a + b + c) / 2; // 半周长
return std::sqrt(s * (s - a) * (s - b) * (s - c)); // 海伦公式
} else {
return -1; // 或者抛出异常,表示非法输入
}
}
// 主函数main
int main() {
// 测试不同的情况
double sides[] = {3, 4, 5}; // 正确的三角形边长
std::cout << "Triangle with sides 3, 4, 5 area: " << triangle_area(sides[0], sides[1], sides[2]) << std::endl;
// 不合法输入
sides[1] = 0; // 只有一条边
std::cout << "Invalid side length: Triangle area is undefined: " << triangle_area(sides[0], sides[1], sides[2]) << std::endl;
sides[1] = sides[2]; // 两相等边
std::cout << "Invalid side lengths: Cannot form a unique triangle: " << triangle_area(sides[0], sides[1], sides[2]) << std::endl;
sides[0] = sides[1] = sides[2] = 3; // 全相等边
std::cout << "All sides equal: Degenerate case (isosceles triangle), no area: " << triangle_area(sides[0], sides[1], sides[2]) << std::endl;
return 0;
}
```
在这个程序中,`lab1_3cpp`是你想要保存文件的名称。当你运行`main`函数时,它会分别对不同的情况输出计算结果或者给出错误提示。
阅读全文