C语言:用海伦公式求三角形面积
我编了如下程序:
#include
#define s ((a+b+c)/2)
void main()
{
float a,b,c;
double area;
scanf("%f%f%f",&a,&b,&c);
if(a>=b+c || b>=a+c || c>=a+b)
printf("error\n");
else
{
area=sqrt((double)(s*(s-a)*(s-b)*(s-c)));
printf("%f\n",area);
}
}
运行后输入a,b,c的值:2 3 4
运行结果却是-32704.000000,请问这是什么地方出了问题?
人气:450 ℃ 时间:2019-10-19 11:14:18
解答
你用到了函数sqrt,这个需要有头文件math.h
在最上面加上#include 再运行就可以了,即为:
#include
#include
#define s ((a+b+c)/2)
void main()
{
float a,b,c;
double area;
scanf("%f%f%f",&a,&b,&c);
if(a>=b+c || b>=a+c || c>=a+b)
printf("error\n");
else
{
area=sqrt((double)(s*(s-a)*(s-b)*(s-c)));
printf("%f\n",area);
}
}
我调试过,可以正常运行.
推荐
- C语言编程问题,利用海伦公式求三角形面积
- 运用C语言函数和海伦公式求三角形面积?急求
- 求算三角形面积的海伦公式
- c++语言 输入三角形三边a,b,c.判断是否能够构成三角形,如果能构成三角形,通过海伦公式,计算其面积
- 问个三角形面积公式,海伦公式!
- 平面简谐波沿x轴正向传播,若t=0时,距原点O为波长/4处质元在正方向最大位移处
- 描写战争对儿童的灾害的句子
- 压力已知的水,通过已知直径的水管,水的出水管速度可以算吗?怎么算?
猜你喜欢