写出函数area (double a, double b, double c),它的作用是求出a,b,c组成三角形的面积,如果a,b,c可以组成三角形,它们的面积将通过sarea返回给调用函数,否则sarea值
时间: 2024-05-10 08:17:51 浏览: 59
将返回-1。
函数代码如下:
```
double area(double a, double b, double c) {
double s = (a + b + c) / 2;
double sarea = sqrt(s * (s - a) * (s - b) * (s - c));
if (isnan(sarea)) {
return -1;
} else {
return sarea;
}
}
```
在该函数中,首先计算出三角形的半周长s,然后根据海伦公式计算出三角形的面积sarea。如果sarea不是一个合法的数字(比如计算出现了负数或NaN),则返回-1,否则返回计算出来的面积。
相关问题
用C语言编程求以a,b,c,为边长的三角形的面积area
以下是使用海龙公式计算三角形面积的C语言程序:
```c
#include <stdio.h>
#include <math.h>
int main()
{
double a, b, c, s, area;
// 读入三角形的三条边长
printf("请输入三角形的三条边长:\n");
scanf("%lf %lf %lf", &a, &b, &c);
// 计算半周长
s = (a + b + c) / 2;
// 计算面积
area = sqrt(s * (s - a) * (s - b) * (s - c));
// 输出结果
printf("三角形的面积为:%lf\n", area);
return 0;
}
```
在程序中,首先使用`scanf()`函数读入三角形的三条边长,然后计算出半周长`s`,最后使用海龙公式计算出三角形的面积,并输出结果。
用 c 写一个程序 求三角形面积,a,b,c 为三边,用函数和结构体
在 C 语言中,我们可以使用结构体表示三角形,并编写一个函数来计算其面积。首先,我们定义一个结构体 `Triangle` 来存储三角形的边长:
```c
#include <stdio.h>
#include <math.h>
// 定义三角形结构体
typedef struct {
double a; // 边a
double b; // 边b
double c; // 边c
} Triangle;
// 计算半周长
double semiperimeter(Triangle t) {
return (t.a + t.b + t.c) / 2;
}
// 海伦公式求面积
double triangle_area(Triangle t) {
double s = semiperimeter(t);
return sqrt(s * (s - t.a) * (s - t.b) * (s - t.c));
}
int main() {
Triangle triangle;
printf("请输入三角形的三条边长:\na=");
scanf("%lf", &triangle.a);
printf("b=");
scanf("%lf", &triangle.b);
printf("c=");
scanf("%lf", &triangle.c);
if (triangle.a + triangle.b > triangle.c && triangle.b + triangle.c > triangle.a && triangle.a + triangle.c > triangle.b) {
double area = triangle_area(triangle);
printf("三角形的面积为: %.2f\n", area);
} else {
printf("输入的边长无法构成三角形。\n");
}
return 0;
}
```
这个程序中,我们定义了一个 `Triangle` 结构体,包含三个成员变量代表边长 `a`, `b`, 和 `c`。然后,通过 `semiperimeter()` 函数计算半周长,接着用海伦公式计算面积。在 `main()` 函数中获取用户输入并判断是否能构成三角形,最后打印出面积。