用c语言输入多组数字判断三角形类型完整代码
时间: 2024-10-07 18:06:54 浏览: 22
在C语言中,判断一个三角形是否为直角、等腰或等边三角形通常涉及到用户输入三个边长,然后通过比较这些边长来确定其类型。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <math.h>
// 定义函数来检查三角形类型
int checkTriangleType(double a, double b, double c) {
if (a + b > c && a + c > b && b + c > a) { // 判断三边能否构成三角形
if (fabs(a - b) == fabs(c - (a + b))) { // 等腰三角形
return 1;
} else if (fabs(b - c) == fabs(a - (b + c))) { // 另一边也等腰
return 1;
} else if (fabs(a - c) == fabs(b - (a + c))) { // 第三边也等腰
return 1;
} else if (sqrt(a * a + b * b) == c || sqrt(b * b + c * c) == a || sqrt(c * c + a * a) == b) { // 直角三角形
return 2;
} else { // 等边三角形
return 3;
}
} else {
printf("输入的边长无法构成三角形.\n");
return 0; // 输入无效
}
}
int main() {
int numTriangles;
printf("请输入你想判断的三角形数量:");
scanf("%d", &numTriangles);
for (int i = 0; i < numTriangles; i++) {
double side1, side2, side3;
printf("\nEnter triangle %d 的三条边长:\n", i+1);
scanf("%lf %lf %lf", &side1, &side2, &side3);
int type = checkTriangleType(side1, side2, side3);
switch (type) {
case 1: printf("这是一个等腰三角形.\n"); break;
case 2: printf("这是一个直角三角形.\n"); break;
case 3: printf("这是一个等边三角形.\n"); break;
default: printf("输入错误或无法识别的三角形.\n"); break;
}
}
return 0;
}
```
阅读全文