请用户给出三角形三个边长,判断三角形的类型,并求面积: 提醒:(1)任意两边之和大于第三边的,才可构成三角形。 (2)三角形类型:等边、等腰、直角、普通。 (3)根据三角形的边长求面积,使用海伦公式。具体为: 若已知三条边长分别为a、b、c。假设p为三角形周长的一半,即p=1/2(a+b+c)。则面积=平方根(p(p-a)(p-b)(p-c)) (4)定义函数库(即初始化函数)时,在#include<stdio.h>后面添加一行#define EPS 1e-1
时间: 2024-02-20 16:02:35 浏览: 107
C语言输入三角形边长判断其类型并输出面积实例代码
5星 · 资源好评率100%
好的,这里给出一个示例代码,其中包括了判断三角形类型和计算面积的过程。
```c++
#include <stdio.h>
#include <math.h>
#define EPS 1e-1
int main() {
double a, b, c;
printf("请输入三角形的三个边长:\n");
scanf("%lf%lf%lf", &a, &b, &c);
double p = (a + b + c) / 2.0; // 计算半周长
double area = sqrt(p * (p - a) * (p - b) * (p - c)); // 计算面积
if (a + b <= c || a + c <= b || b + c <= a) { // 判断是否为三角形
printf("无法构成三角形!\n");
} else if (fabs(a - b) < EPS && fabs(b - c) < EPS) { // 判断等边三角形
printf("等边三角形,面积为:%.2lf\n", area);
} else if (fabs(a - b) < EPS || fabs(b - c) < EPS || fabs(a - c) < EPS) { // 判断等腰三角形
printf("等腰三角形,面积为:%.2lf\n", area);
} else if (fabs(a * a + b * b - c * c) < EPS || fabs(a * a + c * c - b * b) < EPS || fabs(b * b + c * c - a * a) < EPS) { // 判断直角三角形
printf("直角三角形,面积为:%.2lf\n", area);
} else { // 普通三角形
printf("普通三角形,面积为:%.2lf\n", area);
}
return 0;
}
```
在这个代码中,我们使用了 `fabs()` 函数来比较两个浮点数之间的差值是否小于一个极小值 `EPS`,以解决浮点数精度误差的问题。
阅读全文