题目描述:
请编程实现给出三角形的三条边,首先判断这三条边是否能构成三角形,然后判断这个三角形是等边三角形、等腰三角形、直角三角形还是一般三角形,并输出结果。
输入:
三角形的三条边,用空格隔开。
输出:
该三角形是xx三角形!
样例输入
3 5 4
样例输出
该三角形是直角三角形!
请按任意键继续. . .
#include <stdio.h>
int main(void)
{
int a, b, c, temp;
printf("请输入三角形的三条边,用空格隔开:\n");
scanf("%d %d %d", &a, &b, &c);
//排序: a >= b >= c
if (a < b)
{
temp = a;
a = b;
b = temp;
}
if (a < c)
{
temp = a;
a = c;
c = temp;
}
if (b < c)
{
temp = b;
b = c;
c = temp;
}
//判断三角形是否成立
if (a <= 0 || b <= 0 || c <= 0 || b + c <= a)
{
printf("该三角形不成立!\n");
return 0;
}
if (a == b && b == c)// a == c
{
printf("该三角形是等边三角形!\n");
return 0;
}
if ((a == b || b == c))
{
printf("该三角形是等腰三角形!\n");
return 0;
}
if (a*a == b*b + c*c)
{
printf("该三角形是直角三角形!\n");
return 0;
}
printf("该三角形是一般三角形!\n");
return 0;
}