判断三角形
题目描述
输⼊三个整数a,b,c,判断由a,b,c作为三条边组成的三⻆形,如果不能组成三⻆形则输出:⾮三⻆形;如果是三⻆形,再继续判断,如果是等边三⻆形,则输出:等边三⻆形;如果是等腰三⻆形,则输出:等腰三⻆形;否则输出普通三⻆形。
输⼊:3 4 5输出:普通三⻆形输⼊:3 3 3输出:等边三⻆形输⼊:3 3 4输出:等腰三⻆形
解法思路
三⻆形的判断⽅法是:对于三条边⻓a、b、c,若任意两边之和⼤于第三边,那么就可以组成⼀个三 ⻆形,即a+b>c, a+c>b, b+c>a。
如果组成了三⻆形,再判断是什么三⻆形,有三种情况:
1. 等边三⻆形:三边相等;
2. 等腰三⻆形:两边相等,但不等于第三边;
3. 普通三⻆形:三边不相等。
最后,如果输⼊的三个数不能组成三⻆形,则输出“⾮三⻆形”。
解法代码
#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;
}
运行结果
输⼊:3 4 5
输出:普通三⻆形
输⼊:3 3 3
输出:等边三⻆形
输⼊:3 3 4
输出:等腰三⻆形