/*
* 任意输入三角形三条整型边长 判断三角形的类型(普通 等腰 等边 直三角)
*/
#include <stdio.h>
int main(void)
{
int a,b,c;
printf("输入三角形三条整型边长:");
scanf("%d%d%d",&a,&b,&c);
//为方便之后的算法实现 进行对边排序,(确保a>=b>=c)
int temp;
if(a<b)
{
temp=a;
a=b;
b=temp;
}
//存在溢出风险
if(a<c)
{
a=a+c;
c=a-c;
a=a-c;
}
//
if(b<c)
{
b=b^c;
c=b^c;
b=b^c;
}
//
//判断是否为三角形
if((b+c)<=a)
{
printf("不是三角形.\n");
return 1;
}
if(a==b || a==c || b==c)//等边 或 等腰
{
a==c?printf("等边三角形.\n"):printf("等腰三角形.\n");
}
else //普通 或 直三角形
{
if((b*b+c*c)==(a*a))
{
printf("直三角形.\n");
}
else
{
printf("普通三角形.\n");
}
}
return 0;
}