用 c 写一个程序 求三角形面积,a,b,c 为三边,用函数和结构体
时间: 2024-09-10 19:22:14 浏览: 96
在 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()` 函数中获取用户输入并判断是否能构成三角形,最后打印出面积。
阅读全文