题目名称:
输入三个整数a,b,c,判断由a,b,c作为三条边组成的三角形,如果不能组成三角形则输出:非三角形;如果是三角形,再继续判断,如果是等边三角形,则输出:等边三角形;如果是等腰三角形,则输出:等腰三角形;否则输出普通三角形
答案
#include int main(){int a = 0;int b = 0;int c = 0;scanf("%d %d %d", &a, &b, &c);//三⻆形必须满⾜任意两天边⼤于第三条边if (a + b > c && a + c > b && b + c > a){//三条边相当if (a == b && b == c){printf("等边三⻆形\n");}//任意两条边相等,但是不等于第三条边,此时只需要判断是否有两条边相等else if (a == b || a == c || b == c){printf("等腰三⻆形\n");}//两种情况都不满⾜输出普通三⻆形else{printf("普通三⻆形\n");}}//不能构成三⻆形else{printf("⾮三⻆形\n");}return 0;}
解题思路
三角形的判断方法是:对于三条边长a、b、c,若任意两边之和大于第三边,那么就可以组成⼀个三角形,即a+b>c,a+c>b,b+c>a。
如果组成了三角形,再判断是什么三角形,有三种情况:
- 等边三角形:三边相等;
- 等腰三角形:两边相等,但不等于第三边;
- 普通三角形:三边不相等。
最后,如果输⼊的三个数不能组成三角形,则输出“非三角形”