自己用c语言写的海伦公式求三角形面积,调试没错误,但运行结果却不对,请高手看一下

Python024

自己用c语言写的海伦公式求三角形面积,调试没错误,但运行结果却不对,请高手看一下,第1张

#include<stdio.h>

#include<math.h>

main()

{

double a,b,c

double s,area,d

printf("Enter three number a,b,c.")

scanf("%f%f%",&a,&b,&c) //请改为scanf("%lf%lf%lf",&a,&b,&c)

s=(a+b+c)/2

d=s*(s-a)*(s-b)*(s-c)

if((a>=c+b)||(b>=a+c)||(c>=a+b))printf("error")

else

{

area=sqrt(d)

printf("The area is %f\n",area)//请改为 printf("The area is %lf\n",area)

}

return

}

角形周长一定大于每条边。所以中间一步判断正负的可以省掉。

其实应该加上这样一步判断:

#include<stdio.h>

#include<math.h>

void main()

{float a,b,c,s,area,x

printf("Please input three numbers:")

scanf("%f,%f,%f",&a,&b,&c)

if ((a+b>c) &&(a+c>b) &&(b+c>a)) {

s=(a+b+c)/2.0

x=(s*(s-a)*(s-b)*(s-c))

area=sqrt(x)

printf("area=%6.2f\n",area)

}

else

printf("Input error!" )

}