C语言设计三角形ABC 的抽象数据类型(包括此类的数据成员和函数成员),(其中各顶点的坐标依次为 A ( xa, ya)、B( xb, yb)、C( xc, yc))(包括求三角形的面积、三角形的周长)
时间: 2024-12-11 12:44:34 浏览: 22
严蔚敏数据结构题集(C语言版)完整答案.doc
在C语言中,我们可以创建一个名为`Triangle`的结构体来表示一个具有三个顶点A、B、C的三角形,并包含相应的数据成员和函数成员。这里是一个简单的例子:
```c
#include <stdio.h>
#include <math.h>
// 定义一个结构体代表三角形
typedef struct {
int xa, ya; // A点坐标
int xb, yb; // B点坐标
int xc, yc; // C点坐标
} Triangle;
// 计算两个点之间的距离
double distance(int x1, int y1, int x2, int y2) {
return sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
}
// 计算三角形的周长
double triangle_perimeter(Triangle t) {
return distance(t.xa, t.ya, t.xb, t.yb) +
distance(t.xb, t.yb, t.xc, t.yc) +
distance(t.xc, t.yc, t.xa, t.ya);
}
// 计算三角形的面积 (海伦公式)
double triangle_area(Triangle t) {
double a = distance(t.xa, t.ya, t.xb, t.yb);
double b = distance(t.xb, t.yb, t.xc, t.yc);
double c = distance(t.xc, t.yc, t.xa, t.ya);
double s = (a + b + c) / 2;
return sqrt(s * (s - a) * (s - b) * (s - c));
}
int main() {
Triangle ABC;
ABC.xa = 0; ABC.ya = 0;
ABC.xb = 5; ABC.yb = 0;
ABC.xc = 0; ABC.yc = 4; // 例如,A(0,0), B(5,0), C(0,4)
printf("三角形ABC的周长: %.2f\n", triangle_perimeter(ABC));
printf("三角形ABC的面积: %.2f\n", triangle_area(ABC));
return 0;
}
```
阅读全文