运用C语言函数和海伦公式求三角形面积?急求

2025-03-27 06:58:44
推荐回答(3个)
回答1:

#include
#include
main()
{
float a,b,c,s,area=0;
printf("请输入三角形三个边,空格间隔,回车结束!\n");
scanf("%f%f%f",&a,&b,&c);
if(a+b<=c ||a+c<=b || b+c<=a )
{printf("输入错误,三角形两边之和应大于第三边,请重新输入!\n");return 0;}
else
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("三角形面积是:%.3f",area);//保留了三位小数
}

回答2:

程序已改正,楼主自己对照下,我调试通过了

#include

#include

int main()

{

double a,b,c,p,s,max,min;

printf("请输入a,b,c三个数:");

scanf("%lf%lf%lf",&a,&b,&c);

max=(((a>b)?a:b)>c?((a>b)?a:b):c);

min=(((a

p=(1.0/2)*(a+b+c);//错误1

s=sqrt(p*(p-a)*(p-b)*(p-c));

printf("a,b,c三个数中最大的是:%lf\n",max);//错误2

printf("a,b,c三个数中最小的是%lf\n",min);//错误3

printf("三角形的面积为:%.3lf\n",s);

return 0; #include #include main() { double a,b,c; double s,area,d; printf("Enter three number a,b,c."); scanf("%f%f%",&a,&b,&c); //

回答3:

# include
float x(float a, float b, float c)
{ float s;
s=(a+b+c)/2;
return s;
}
float y(float a, float b, float c,float s)
{ float area;
aera=sqrt(s*(s-a)*(s-b)*(s-c));
return area;
}
void main()
{
float a,b,c,s,area;
scanf("%f%f%f",a,b,c);
if((a+b>c)&&(a+c>b)&&(b+c>a))
{
printf("a,b,c符合条件");
s=x(a,b,c);
area=y(a,b,c,s);
printf("area=%f",area);
}
else
{
printf("a,b,c不符合条件,请重新输入");
}
}