已知长度比,分辨是直角,锐角还是钝角三角形的方法

2024-12-04 00:01:40
推荐回答(3个)
回答1:

.......
3,4,5,很明显的勾股数,直角三角形.
设a,b为△ABC较短边,c为较长边
若a²+b²>c²,则△ABC为锐角三角形
若a²+b²=c²,则△ABC为直角三角形
若a²+b²<c²,则△ABC为钝角三角形,且c所对角为钝角

回答2:

这个是直角三角形
设三边是从小到大是a,b,c
如果a^2+b^2>c^2锐角
a^2+b^2=c^2直角
a^2+b^2

回答3:

用余弦定理呀,不过效率可能不是很高,但程序写起来还是很容易的;
1.先给三条边排序,判断能否构成三角形,也便于找到最大角(大边对大角);
2.用余弦定理 cosA=(b*b+c*c-a*a)/2*b*c;
#include
#include
#define pai 3.1415926
int main()
{
int a,b,c;
double theta,temp;
printf("从小到大输入三条非负整数边: a,b,c \n");
scanf("%d%d%d",&a,&b,&c);
if(0==a*a+b*b-c*c)
{
printf("直角三角形\n");
return 0;
}
temp=(double)(a*a+b*b-c*c)/(2*a*b);
theta=acos(temp);
theta=(180*theta)/pai;

if(theta>90&&theta<180) printf("钝角三角形\n");
else if(theta>0&&theta<90) printf("锐角三角形\n");
else printf("输入错误\n");
return 0;
}