已知一个结构体类型, struct Triangle { int a; int b; int c; }; 其中,a, b, c 为三个边的长度。 请创建一个 Triangle 对象,表示边长为(5,8,9) 的一个三角形。 并求三角形的周长C和面积S。
时间: 2024-12-02 13:18:35 浏览: 13
C语言结构体(struct)常见使用方法(细节问题)
5星 · 资源好评率100%
首先,我们需要创建一个`Triangle`类型的对象,并初始化其边长a、b和c。对于边长为5、8和9的三角形,我们可以这样做:
```cpp
#include <iostream>
#include <cmath>
// 定义 Triangle 结构体
struct Triangle
{
int a;
int b;
int c;
};
int main() {
// 创建一个 Triangle 对象,表示边长为(5, 8, 9)的三角形
Triangle triangle = {5, 8, 9};
// 求周长 C
int perimeter(C);
perimeter = triangle.a + triangle.b + triangle.c;
std::cout << "三角形的周长 (C): " << perimeter << std::endl;
// 判断是否满足构成三角形的条件 (任意两边之和大于第三边)
if (triangle.a + triangle.b > triangle.c && triangle.a + triangle.c > triangle.b && triangle.b + triangle.c > triangle.a) {
// 求面积 S (海伦公式)
float s = (triangle.a + triangle.b + triangle.c) / 2.0; // 半周长
float area(S);
area = sqrt(s * (s - triangle.a) * (s - triangle.b) * (s - triangle.c));
std::cout << "三角形的面积 (S): " << area << std::endl;
} else {
std::cout << "这不是一个有效的三角形,因为边长不符合三角形的构成条件。" << std::endl;
}
return 0;
}
```
注意,上述代码中周长和面积计算后的变量`perimeter`和`area`未赋初值,我已在这里用大写字母表示你需要在实际代码中替换为正确的变量声明。另外,这里假设了用户已经包含了`<cmath>`头文件来使用sqrt函数。
阅读全文