c语言计算三角形面积与周长
时间: 2024-10-15 18:08:52 浏览: 53
在C语言中,计算三角形的面积和周长通常涉及到以下几个步骤:
1. **三角形有效性判断**:首先需要确认三条边a、b、c是否能组成一个有效的三角形,即任意两边之和大于第三边。
2. **周长计算**:将三边相加得到周长,代码如下:
```c
float perimeter(float a, float b, float c) {
return a + b + c;
}
```
3. **半周长和面积计算**:对于计算面积,C语言没有内置的求平方根函数,需要使用`sqrt()`函数,如采用海伦公式:
```c
float semi_perimeter(float a, float b, float c) {
return (a + b + c) / 2;
}
float area(float a, float b, float c) {
float s = semi_perimeter(a, b, c);
return sqrt(s * (s - a) * (s - b) * (s - c));
}
```
完整的函数示例:
```c
#include <stdio.h>
#include <math.h>
// 函数声明
float perimeter(float a, float b, float c);
float area(float a, float b, float c);
int main() {
float a, b, c;
printf("Enter the lengths of triangle sides a, b, and c: ");
scanf("%f %f %f", &a, &b, &c);
// 判断是否为有效三角形
if (a + b > c && a + c > b && b + c > a) {
float perimeter_result = perimeter(a, b, c);
float area_result = area(a, b, c);
printf("Perimeter: %.2f\n", perimeter_result);
printf("Area: %.2f\n", area_result);
} else {
printf("Invalid triangle sides! Please enter valid lengths.\n");
}
return 0;
}
// 辅助函数
float perimeter(float a, float b, float c) {
return a + b + c;
}
float area(float a, float b, float c) {
float s = semi_perimeter(a, b, c);
return sqrt(s * (s - a) * (s - b) * (s - c));
}
```
阅读全文