定义一个函数用该函数判断对于给定范围[1,104]的三个正整数作为边长 是能否构成三角形。如果能,则进一步判断所构成的三角形是普通三角形、等腰三角形,还是等边三角形。c语言
时间: 2024-12-14 16:18:14 浏览: 14
在C语言中,你可以定义一个函数来判断三个正整数是否能构成三角形,并确定其类型。首先,你需要确认这三个数字是否满足任意两边之和大于第三边的条件,因为这是构成三角形的基本规则。然后,根据它们的具体关系来判断:
```c
#include <stdio.h>
// 函数声明
int isTriangle(int a, int b, int c);
enum TriangleType {普通三角形, 等腰三角形, 等边三角形} getTriangleType(int a, int b, int c);
// 判断是否构成三角形
int isTriangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
return 1; // 能构成三角形
else
return 0;
}
// 根据边长判断三角形类型
enum TriangleType getTriangleType(int a, int b, int c) {
if (a == b && b == c) // 等边三角形
return 等边三角形;
else if (a == b || a == c || b == c) // 等腰三角形
return 等腰三角形;
else // 普通三角形
return 普通三角形;
}
int main() {
int a, b, c;
printf("请输入三个正整数(范围1到104):");
scanf("%d %d %d", &a, &b, &c);
// 检查输入是否在范围内
if (a >= 1 && a <= 104 && b >= 1 && b <= 104 && c >= 1 && c <= 104) {
if (isTriangle(a, b, c)) {
enum TriangleType type = getTriangleType(a, b, c);
switch (type) {
case 等边三角形:
printf("这三个数构成等边三角形。\n");
break;
case 等腰三角形:
printf("这三个数构成等腰三角形。\n");
break;
default:
printf("这三个数构成普通三角形。\n");
}
} else {
printf("这三个数不能构成三角形。\n");
}
} else {
printf("输入值不在有效范围内。\n");
}
return 0;
}
```
在这个程序里,用户会被提示输入三个正整数,函数会检查它们是否符合条件并确定三角形类型。
阅读全文