用C语言编写假设输入三个整数a、b、c分别作为三边的边长构成三角形。通过程序判定所构成的三角形的类型:等边三角形、等腰三角形、不等边三角形或非三角形。
时间: 2024-09-24 20:28:05 浏览: 65
在C语言中,我们可以创建一个函数来判断输入的三个整数是否能组成有效的三角形以及它们的类型。首先,我们需要满足任意两边之和大于第三边的条件,这是构成三角形的基本规则。以下是实现这个功能的一个示例:
```c
#include <stdio.h>
// 判断三个整数能否构成三角形
int is_triangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
return 1; // 成立,返回1表示可以构成三角形
else
return 0; // 不成立,返回0表示无法构成三角形
}
// 判断三角形类型
enum TriangleType {
Equilateral, // 等边三角形
Isosceles, // 等腰三角形
Scalene // 不等边三角形
};
TriangleType triangle_type(int a, int b, int c) {
if (a == b && b == c) return Equilateral; // 等边三角形
if (a == b || a == c || b == c) return Isosceles; // 等腰三角形
else return Scalene; // 不等边三角形
}
int main() {
int a, b, c;
printf("请输入三角形的三条边长:");
scanf("%d %d %d", &a, &b, &c);
if (!is_triangle(a, b, c)) {
printf("这不是一个有效的三角形。\n");
} else {
TriangleType type = triangle_type(a, b, c);
switch (type) {
case Equilateral:
printf("这是一个等边三角形。\n");
break;
case Isosceles:
printf("这是一个等腰三角形。\n");
break;
default: // Scalene
printf("这是一个不等边三角形。\n");
}
}
return 0;
}
```
阅读全文