用C语言编写并调用一个函数,函数功能:输入3个实数,若能构成三角形,则输出三角形的面积,若不能构成三角形,则输出无法构成。
时间: 2024-12-09 11:16:20 浏览: 25
C语言程序设计练习题含程序及参考答案.pdf
在C语言中,你可以通过定义一个函数来计算三个点是否可以构成三角形以及计算其面积。首先,你需要检查这三个点是否满足构成三角形的条件:任意两边之和大于第三边。如果满足,再利用海伦公式来计算面积。以下是简单的代码示例:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
double checkTriangle(double a, double b, double c);
double triangleArea(double a, double b, double c);
int main() {
double x1, y1, x2, y2, x3, y3; // 假设我们有三个点的坐标
printf("请输入三个点的坐标 (x1, y1), (x2, y2), (x3, y3): ");
scanf("%lf %lf %lf %lf %lf %lf", &x1, &y1, &x2, &y2, &x3, &y3);
// 计算两个点之间的距离,并判断是否构成三角形
if (checkTriangle(x2 - x1, y2 - y1, x3 - x1) &&
checkTriangle(x2 - x1, y2 - y1, y3 - y1) &&
checkTriangle(x3 - x1, y3 - y1, x2 - x1)) {
// 如果构成三角形,计算面积并输出
double side_a = sqrt(pow((x2 - x1), 2) + pow((y2 - y1), 2));
double side_b = sqrt(pow((x3 - x2), 2) + pow((y3 - y2), 2));
double side_c = sqrt(pow((x1 - x3), 2) + pow((y1 - y3), 2));
double semi_perimeter = (side_a + side_b + side_c) / 2;
double area = triangleArea(side_a, side_b, side_c);
printf("三角形的面积是: %.2f\n", area);
} else {
printf("无法构成三角形。\n");
}
return 0;
}
// 检查三点能否构成三角形
double checkTriangle(double a, double b, double c) {
return a + b > c && a + c > b && b + c > a;
}
// 海伦公式计算三角形面积
double triangleArea(double a, double b, double c) {
double s = (a + b + c) / 2; // 半周长
return sqrt(s * (s - a) * (s - b) * (s - c));
}
```
在这个例子中,`checkTriangle`函数用于验证三点是否构成三角形,`triangleArea`函数则用于计算三角形的面积。
阅读全文