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

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

#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);
}
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-05-12
/*
根据输入的三角形的三边,判断是否能组成三角形,若可以则输出它的面积和类型
(等腰,等边,直角,普通)。按要求写程序。要求用简单的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);
}
}
}
第2个回答  2020-05-25
#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);
}
}
第3个回答  2020-11-16
相似回答