C语言键盘输入三个整数,判断是否能构成三角形,并判断是等边三角形、等腰三角形、直角三角形或者其他三角形
时间: 2024-09-28 21:04:49 浏览: 168
在C语言中,你可以通过输入三个整数并检查它们的关系来确定三角形的类型。下面是基本的步骤:
1. 首先,你需要验证这三个数是否可以形成一个有效的三角形(任意两边之和大于第三边)。如果不能,直接输出不能构成三角形。
2. 如果能构成三角形,你可以进一步判断类型:
- 如果三边相等,那么它是等边三角形;
- 如果只有两条边相等,那是等腰三角形;
- 如果两边的平方和等于第三边的平方,那就是直角三角形;其他情况就是普通三角形。
下面是一个示例程序:
```c
#include <stdio.h>
#include <stdbool.h>
// 判断是否能构成三角形
bool isValidTriangle(int a, int b, int c) {
if (a + b > c && a + c > b && b + c > a)
return true;
return false;
}
// 判断三角形类型
char classifyTriangle(int a, int b, int c) {
if (a == b && b == c) return 'E'; // 等边
else if (a == b || a == c || b == c) return 'M'; // 等腰
else if (a * a + b * b == c * c || a * a + c * c == b * b || b * b + c * c == a * a) return 'R'; // 直角
else return 'O'; // 其他三角形
}
int main() {
int side_a, side_b, side_c;
printf("请输入三角形的三条边长:");
scanf("%d %d %d", &side_a, &side_b, &side_c);
if (!isValidTriangle(side_a, side_b, side_c)) {
printf("无法构成三角形。\n");
} else {
char triangle_type = classifyTriangle(side_a, side_b, side_c);
switch (triangle_type) {
case 'E':
printf("这是一个等边三角形。\n");
break;
case 'M':
printf("这是一个等腰三角形。\n");
break;
case 'R':
printf("这是一个直角三角形。\n");
break;
default:
printf("这是一个普通三角形。\n");
}
}
return 0;
}
```
阅读全文