输入三角形的三条边a , b , c,判断他们是否能构成三角形,若能构成三角形,指出是何种类型的三角形(等边、等腰、直角、普通)。c语言
时间: 2024-10-21 15:14:35 浏览: 252
在C语言中,你可以通过比较三条边的长度来判断它们能否构成三角形以及其类型。以下是基本的步骤:
1. 判断是否能构成三角形:根据三角形的任意两边之和大于第三边的原则(即a+b>c, a+c>b, 和b+c>a),检查输入的a、b、c是否满足这个条件。
2. 类型判断:
- 等边三角形:如果三个边长都相等,则是等边三角形。
- 等腰三角形:如果有两个边长相等,则需要进一步检查第三个边与这两个相等的边的关系。
- 直角三角形:如果满足勾股定理(a² + b² = 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;
else
return 0;
}
void triangle_type(int a, int b, int c) {
int sides[3] = {a, b, c};
if (sides[0] == sides[1] && sides[1] == sides[2])
printf("等边三角形\n");
else if (sides[0] == sides[1] || sides[1] == sides[2] || sides[0] == sides[2]) {
if (a * a == b * b + c * c || b * b == a * a + c * c || c * c == a * a + b * b)
printf("直角三角形\n");
else
printf("等腰三角形\n");
} else {
printf("普通三角形\n");
}
}
int main() {
int a, b, c;
printf("请输入三角形的三条边长:a, b, c ");
scanf("%d %d %d", &a, &b, &c);
if (is_triangle(a, b, c)) {
triangle_type(a, b, c);
} else {
printf("无法构成三角形\n");
}
return 0;
}
```
阅读全文