判断是否为等边、等腰、直角,具体代码
时间: 2024-11-15 11:33:25 浏览: 4
在C语言中,我们可以创建一个函数来判断一个三角形是否是等边、等腰或直角三角形。这里有一个简单的例子,假设我们已经获取了三角形的三个边长`a`, `b`, 和 `c`:
```c
#include <stdio.h>
#include <math.h> // 引入数学库用于计算
// 边长比较函数
int compare(float a, float b, float c) {
if (fabs(a - b) <= 0.0001 && fabs(b - c) <= 0.0001) { // 等腰判断
return 1;
} else if (fabs(a - c) <= 0.0001) { // 等边判断
return 2;
}
return 0; // 非等边非等腰
}
// 判断三角形类型
void triangle_type(float a, float b, float c) {
int type = compare(a, b, c);
switch (type) {
case 1: // 等腰三角形
printf("这是一个等腰三角形.\n");
break;
case 2: // 等边三角形
printf("这是一个等边三角形.\n");
break;
default: // 直角、一般三角形或非法三角形
float angle = acos((a * a + b * b - c * c) / (2 * a * b)); // 计算最大角的弧度
if (angle == M_PI / 2) { // 钝角
printf("这是一个钝角三角形.\n");
} else if (fabs(angle - M_PI / 4) < 0.0001) { // 直角
printf("这是一个直角三角形.\n");
} else {
printf("这是一个一般三角形.\n");
}
break;
}
}
int main() {
float a, b, c;
printf("请输入三角形的三条边长:\na = ");
scanf("%f", &a);
scanf("%f", &b);
scanf("%f", &c);
triangle_type(a, b, c);
return 0;
}
```
阅读全文