如何判断三角形是锐角,钝角,还是直角三角形输入三条边,用C余弦定理 没说a^2>b^2+c^2 就是顿角三角形啊?余弦定理 也没说b^2+c^2-a^2>0就是什么三角形啊?
问题描述:
如何判断三角形是锐角,钝角,还是直角三角形
输入三条边,用C
余弦定理 没说a^2>b^2+c^2 就是顿角三角形啊?
余弦定理 也没说b^2+c^2-a^2>0就是什么三角形啊?
答
用余弦定理呀,不过效率可能不是很高,但程序写起来还是很容易的;
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&&theta0&&theta