3.三角形判断(40分) 描述 写个判断三角形类型的函数parseTrigon(a,b,c),a,b,c代表三条边,返回值要求:有5种可能:-1(边长输入不合法),0(非三角形、即存在两边之和不大于第
时间: 2024-10-21 15:07:23 浏览: 88
三边的长度),1(等边三角形)、2(等腰三角形,但不是等边三角形)、3(直角三角形)。函数需要检查边长是否满足构成三角形的基本条件(任意两边之和大于第三边),并进一步确定三角形类型。
函数伪代码如下:
```python
def parseTrigon(a, b, c):
if a <= 0 or b <= 0 or c <= 0:
return -1 # 边长输入不合法
# 检查能否构成三角形
if not (a + b > c and a + c > b and b + c > a):
return 0 # 非三角形
# 判断三角形类型
if a == b == c: # 等边三角形
return 1
elif a == b or a == c or b == c: # 等腰三角形
return 2
else: # 直角三角形,通过勾股定理判断是否存在90度角
if a ** 2 + b ** 2 == c ** 2 or b ** 2 + c ** 2 == a ** 2 or a ** 2 + c ** 2 == b ** 2:
return 3
else:
return None # 如果既不是等边也不是等腰,就无法直接判断是否为直角三角形,这里通常返回None或抛出异常
相关问题
写个判断三角形类型的函数 parseTrigon(a, b, c),a, b, c代表三条边,返回值要求:有5种可能:-1(边长输入不合法),0(非三角形、即存在两边之和不大于第三边),1(普通三角形),2(等腰三角形), 3(等边三角形)
你可以创建一个名为`parse_triangle(a, b, c)`的函数,它接受三个边长作为参数,并根据它们的关系判断三角形的类型。以下是函数的实现:
```python
def parse_triangle(a, b, c):
# 检查边长是否有效
if a <= 0 or b <= 0 or c <= 0:
return -1 # 边长输入不合法
# 判断是否能组成三角形
if a + b <= c or a + c <= b or b + c <= a:
return 0 # 不能构成三角形
# 根据边长相等关系判断三角形类型
if a == b and b == c:
return 3 # 等边三角形
elif a == b or a == c or b == c:
return 2 # 等腰三角形
else:
return 1 # 普通三角形
# 示例
print(parse_triangle(3, 4, 5)) # 输出1,普通三角形
print(parse_triangle(2, 2, 3)) # 输出2,等腰三角形
print(parse_triangle(1, 2, 3)) # 输出0,不能构成三角形
```
这个函数首先检查边长的有效性,然后判断能否形成三角形。最后根据边长相等的情况分类并返回相应的数值。
c语言函数判断三角形类型
以下是一个判断三角形类型的C语言函数的例子:
```c
#include <stdio.h>
#include <math.h>
void triangleType(float a, float b, float c) {
if (a + b > c && a + c > b && b + c > a) { // 判断是否能构成三角形
if (a == b && b == c) { // 判断是否为等边三角形
printf("Equilateral triangle\n");
} else if (a == b || a == c || b == c) { // 判断是否为等腰三角形
printf("Isosceles triangle\n");
} else { // 否则为普通三角形
printf("Ordinary triangle\n");
}
float p = (a + b + c) / 2; // 计算半周长
float area = sqrt(p * (p - a) * (p - b) * (p - c)); // 计算面积
printf("Area: %f\n", area);
} else {
printf("Cannot form a triangle\n");
}
}
int main() {
float a, b, c;
printf("Enter the three sides of the triangle: ");
scanf("%f %f %f", &a, &b, &c);
triangleType(a, b, c);
return 0;
}
```
阅读全文
相关推荐















