中易网

C语言题目 输入a,b,c三条边,判断它们能否构成三角形.若能,则指出是何种三角形.

答案:3  悬赏:50  
解决时间 2021-01-13 00:56
  • 提问者网友:温柔港
  • 2021-01-12 18:50
C语言题目 输入a,b,c三条边,判断它们能否构成三角形.若能,则指出是何种三角形.
最佳答案
  • 二级知识专家网友:枭雄戏美人
  • 2021-01-12 19:09
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;
}
全部回答
  • 1楼网友:末日狂欢
  • 2021-01-12 21:17
用余弦定理就可以解决了,比如题目仅仅知道三条边,而不知道三内角中的任意一角可以采取余弦定理分别求出各内角。
假设在三角形ABC中,设AB=c,BC=a,CA=b,且a、b、c所对的内角分别是A、B、C,则有:
cosA=[b²+c²-a²]/(2bc)// 求角A的度数
cosB=[a²+c²-b²]/(2ac)// 求角B的度数
cosC=[a²+b²-c²]/(2ab)// 求角C的度数
根据勾股定理:三角形任意两边的平方和等于另一边的平方,则称该三角形为直角三角形。
钝角三角形大于90度小于180度
锐角三角形大于45度小于90度
  • 2楼网友:迟山
  • 2021-01-12 20:21
#include <stdio.h>
int main()
{
double a,b,c;
scanf("%lf%lf%lf",&a,&b,&c);
if(a+b>c&&a+c>b&&b+c>a)
{
if(a==b||a==c||b==c)

if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
{
printf("等腰直角三角形 ");
}
else 
{
     if(a == b && b== c && a == c)
     {
printf("等边三角形 ");
     }
     else
     {
printf("等腰三角形 ");
     }
}
}
else
{
if(a*a==b*b+c*c||b*b==a*a+c*c||c*c==a*a+b*b)
{
printf("直角三角形 ");
}
else 
{
printf("一般三角形 ");
}
}
}
else printf("不能构成三角形 ");
        return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息