用c++语言设计Triangle类,用于判断所输入的三角形的三条边能否组成三角形,以及三角形的类型,并输出三角形的类型
时间: 2024-05-09 08:21:21 浏览: 72
可以回答这个问题。以下是Triangle类的设计:
```
#include <stdio.h>
typedef struct {
int a;
int b;
int c;
} Triangle;
void judge(Triangle t) {
if (t.a + t.b > t.c && t.a + t.c > t.b && t.b + t.c > t.a) {
if (t.a == t.b && t.b == t.c) {
printf("Equilateral triangle\n");
} else if (t.a == t.b || t.a == t.c || t.b == t.c) {
printf("Isosceles triangle\n");
} else {
printf("Scalene triangle\n");
}
} else {
printf("Not a triangle\n");
}
}
int main() {
Triangle t;
printf("Please enter the three edges of the triangle: ");
scanf("%d%d%d", &t.a, &t.b, &t.c);
judge(t);
return 0;
}
```
在 main 函数中,首先定义了一个 Triangle 结构体变量 t,然后通过 scanf 函数从控制台读入三角形的三条边,最后调用 judge 函数进行判断和输出。
在 judge 函数中,首先使用 if 语句判断三条边是否能组成三角形,如果不能,则输出 "Not a triangle";否则,再根据三角形的边长进行分类讨论,输出相应的类型。其中,Equilateral triangle 表示等边三角形,Isosceles triangle 表示等腰三角形,Scalene triangle 表示一般三角形。
阅读全文