c语言编写程序:输入三角形的三条边,判断它们能否构成三角形,若能则指出何种三角形。

如题所述

数学问题啊。两边之和大于第三边,两边之差小于第三边,两边相等是等腰三角形,三边相等是等边三角形。满足勾股定理是直角三角形。
如果还要判断是否是锐角三角形钝角三角形那只能用余弦定理了。百度搜一下就可以了1
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-02
#include<stdio.h>
#include<math.h>
void main()
{
float a,b,c,s,area;
printf("please input a,b,c\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b>c&&b+c>a&&c+a>b)
{
s=(a+b+c)/2;
area=(float)sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f\n",area);
if(a==b&&a==c&&b==c)
printf("equilateral tring\n");
else if(a==b||a==c||b==c)
printf("isosceles tring\n");
else if((a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a))
printf("right -angled tring\n");
}
else
printf("not tring\n");
}本回答被提问者采纳
第2个回答  2010-06-12
#include <stdio.h>
#include <math.h>
main()
{
int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if((a<(b+c))&&(b<(a+c))&&(c<(a+b)))
{
if (a==b||b==c||a==c)
{
if (a==b&&b==c)
printf("等边三角形");
else if(a==b||a==c||b==c)
printf("等腰三角形!");
}
else
printf("一般三角形!");
}
else
printf("不能构成三角形\n");
}
相似回答