题目名称:
输入三个整数a,b,c,判断由a,b,c作为三条边组成的三角形,如果不能组成三角形则输出:非三角形;如果是三角形,再继续判断,如果是等边三角形,则输出:等边三角形;如果是等腰三角形,则输出:等腰三角形;否则输出普通三角形
答案
c
#include <stdio.h>
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。
如果组成了三角形,再判断是什么三角形,有三种情况:
- 等边三角形:三边相等;
- 等腰三角形:两边相等,但不等于第三边;
- 普通三角形:三边不相等。
最后,如果输⼊的三个数不能组成三角形,则输出"非三角形"