求C语言编程 键盘输入三边长 算三角形面积

如题所述

/*
根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和类型
(等腰,等边,直角,普通)。按要求写程序。要求用简单的C语言写!!!
*/
#include<stdio.h>
#include<math.h>
main()
{
double
a,b,c,s,x;
while(scanf("%lf%lf%lf",&a,&b,&c))//按ctrl+z停止数据输入
{
if(a+b>c&&a+c>b&&b+c>a)
{
x=(a+b+c)/2;
s=sqrt(x*(x-a)*(x-b)*(x-c));//三角形求面积公式
//一下三个if语句把a,b,c从小到大排序
if(a>b)
{
x=a;
a=b;
b=x;
}
if(b>c)
{
x=b;
b=c;
c=x;
}
if(a>b)
{
x=a;
a=b;
b=x;
}
if(a==b&&b==c)
{
printf("%f
%f
%f是等边三角形,面积为:%f\n",a,b,c,s);
}
else
if(a==b||b==c)
{
if(a*a+b*b-c*c<1e-3)//两边的平方和
和第三边平方差小于0.001就认为是直接三角形
{
printf("%f
%f
%f是等腰直角三角形,面积为:%f\n",a,b,c,s);
}
else
{
printf("%f
%f
%f是等腰三角形,面积为:%f\n",a,b,c,s);
}
}
else
if(a*a+b*b-c*c<1e-3)
{
printf("%f
%f
%f是直角三角形,面积为:%f\n",a,b,c,s);
}
else
{
printf("%f
%f
%f是普通三角形,面积为:%f\n",a,b,c,s);
}
}//
end
if(a+b>c&&a+c>b&&b+c>a)
else
{
printf("%f
%f
%f不能组成三角形!\n",a,b,c);
}
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-04-22
#include<stdio.h>
#include<math.h>
main()
{
float
a,b,c,p;
double
S;
printf("请输入三边长度(如3,4,5):
");
//注意逗号是西文的
scanf("%f,%f,%f",&a,&b,&c);
if(a+b<=c||b+c<=a||a+c<=b)
printf("您所输入的三边不构成三角形!");
else
{
p=(a+b+c)/2;
S=sqrt(p*(p-a)*(p-b)*(p-c));
//海伦公式
printf("此三角形面积为:%f",S);
}
}
第2个回答  2019-04-26
/*
根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和类型
(等腰,等边,直角,普通)。按要求写程序。要求用简单的C语言写!本回答被提问者采纳
相似回答