我在C++中有以下函数,它应该用Heron公式找到三角形的面积。我没有犯数学错误,但没有产生正确的结果!我看了3个多小时,我找不到任何错误。我错过了什么?计算三角形面积的C++函数
float TriangleArea(float x0, float y0, float x1, float y1, float x2, float y2)
{
float area_triangle;
float a, b, c, s;
a=std::sqrt((x0-x1)*(x0-x1)-(y0-y1)*(y0-y1));
b=std::sqrt((x1-x2)*(x1-x2)-(y1-y2)*(y1-y2));
c=std::sqrt((x0-x2)*(x0-x2)-(y0-y2)*(y0-y2));
s=(a+b+c)/2;
area_triangle=std::sqrt((s*(s-a)*(s-b)*(s-c)));
return area_triangle;
}
请提供样本输入,预期输出和实际输出。 – 2015-03-31 19:00:34
任何子表达式都已经错了吗? – 2015-03-31 19:00:58
'我看了3个多小时'然后打印出'a','b'和'c'的每一个值,并计算semiperimeter's'并查看哪个不正确。写入3或4个'printf()'或'cout'行不需要3个小时。 – PaulMcKenzie 2015-03-31 19:10:20