#include <stdio.h>
#include <math.h>
int Max(int a,int b,int c)
{
int t,max;
t=a>b?a:b;
max=t>c?t:c;
return max;
}
int Min(int a,int b,int c)
{
int t,min;
t=a<b?a:b;
min=t<c?t:c;
return min;
}
int Mid(int a,int b,int c)
{
int mid;
mid=a>b?(a<c?a:(b>c?b:c)):(b<c?b:(a>c?a:c));
return mid;
}
void main()
{
int i,n;
printf("请输入测试的个数:");
scanf("%d",&n);
for(i=0;i<n;i++)
{
int a,b,c,k,x,y,z;
printf("请输入三条边:\n");
scanf("%d%d%d",&a,&b,&c);
if((a+b>c)&&(abs(a-b)<c))
{// 满足上面条件的三边可以构成三角形
if(a==b&&b==c)
printf("构成的三角形为等边三角形\n");
else if((a==b&&c!=a)||(b==c&a!=b)||(a==c&&b!=a))
printf("构成的三角形为等腰三角形\n");
// else if(a*a+b*b==c*c||b*b+c*c==a*a||c*c+a*a==b*b)
// printf("构成的三角形是直角三角形");//在不知道三边大小的情况下判断直角三角形
// else if(a!=b&&b!=c&&a!=c)//下面的条件可以在三边都不相等的条件下判定
else
{
x=Min(a,b,c);
y=Mid(a,b,c);
z=Max(a,b,c);
if(x*x+y*y>z*z)
printf("构成的三角形是锐角三角形\n");
else if (a*a+b*b==c*c)
printf("构成的三角形是直角三角形\n");
else if(x*x+y*y<z*z)
printf("构成的三角形是钝角三角形\n");
}
}
else//不满足构成三角形的条件
{
printf("这三边不能构成三角形\n");
}
}
}
<img src="https://img-blog.csdn.net/20150709183713588?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />