一、题目描述:
输⼊三个整数a,b,c,判断由a,b,c作为三条边组成的三⻆形,如果不能组成三⻆形则输出:⾮三⻆
形;如果是三⻆形,再继续判断,如果是等边三⻆形,则输出:等边三⻆形;如果是等腰三⻆形,则 输出:等腰三⻆形;否则输出普通三⻆形。
二、解体思路:
三⻆形的判断⽅法是:对于三条边⻓a、b、c,若任意两边之和⼤于第三边,那么就可以组成⼀个三
⻆形,即a+b>c, a+c>b, b+c>a。
如果组成了三⻆形,再判断是什么三⻆形,有三种情况:
1. 等边三⻆形:三边相等;
2. 等腰三⻆形:两边相等,但不等于第三边;
3. 普通三⻆形:三边不相等。
最后,如果输⼊的三个数不能组成三⻆形,则输出“⾮三⻆形”。
三、参考代码:
参考代码一:
#define _CRT_SECURE_NO_WARNINGS
//作者:爱吃糖的boy
#include<stdio.h>
int main()
{
int a, b, c;
printf("输入三个整数:\n");
scanf("%d%d%d",&a,&b,&c);
if (a + b <= c || a + c <= b || b + c <= a)
{
printf("不能组成三角形\n");
}
else
{
if (a == b || a == c || c == b)
{
if (a == b && b== c)
printf("等边三角形\n");
else
printf("等腰三角形\n");
}
else
{
printf("普通三角形\n");
}
}
return 0;
}
参考代码二:
#define _CRT_SECURE_NO_WARNINGS
//作者:爱吃糖的boy
#include<stdio.h>
int main()
{
int a, b, c;
printf("输入三个整数:\n");
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;
}