题目
读入三角形的三条边,进行如下的判断:
如果输入值不合法,输出 illegal triangle;
如果输入值合法,两条较短边的平方和大于最长边的平方,则输出 acute triangle,表示锐角三角形;
如果输入值合法,两条较短边的平方和等于最长边的平方,则输出 right triangle,表示直角三角形;
如果输入值合法,两条较短边的平方和小于最长边的平方,则输出 obtuse triangle,表示钝角三角形。
注意:如果两条短边的和大于第三边,那么这个三角形就是合法的
参考代码
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
int main()
{
int x,y,z;
int arr[3];
for(int i=0;i<3;i++)
{
scanf("%d",&arr[i]);
}
int temp;
for(int i=0;i<3;i++)
{
for(int j=0;j<3-i-1;j++)
{
if(arr[j]>arr[j+1])
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
int m,n;
m=arr[0]+arr[1];
n=arr[2];
if(m>n)
{
int a,b,c;
a=pow(arr[0],2);
b=pow(arr[1],2);
c=pow(arr[2],2);
if(a+b>c)
{
printf("acute triangle");
}
else if(a+b==c)
{
printf("right triangle");
}
else
{
printf("obtuse triangle");
}
}
else
{
printf("illegal triangle");
}
return 0;
}