为什么输出nan????????c++

侠客小贝 2022-08-06 15:45:57

平面上有一个三角形,它的三个顶点坐标分别为\ (x_1, y_1), (x_2, y_2), (x_3, y_3) (x1​, y1​), (x2​, y2​), (x3​, y3​),请问这个三角形的面积是多少。
其中,已知两点坐标\ (x_1, y_1)\ (x1​, y1​) 和\ (x_2, y_2) (x2​, y2​),求两点之间线段长度的公式为:

\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}(x1​−x2​)2+(y1​−y2​)2​

已知三角形三边求面积需要用到海伦公式。已知三角形三边长分别为\ a、b、c a、b、c,要求的面积为\ S S,则有:

p = \frac{a + b + c}{2} \\  \\ S = \sqrt{p(p - a)(p - b)(p - c)}p=2a+b+c​ S=p(p−a)(p−b)(p−c)​

输入

一行,包括\ 6\ 6 个正整数,\ x_1, y_1, x_2, y_2, x_3, y_3\ x1​, y1​, x2​, y2​, x3​, y3​ 。

输出

一行,三角形的面积,精确到小数点后两位。

 


输入样例复制

 

0 0 4 0 0 3  

输出样例复制

6.00

#include <bits/stdc++.h>

#include <cmath>

using namespace std;

  

int main() {

    double a, b, c,p,s;

    cin >> a >> b >> c;

    p = (a + b + c) / 2;

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

    s = sqrt(s);

    cout << fixed << setprecision(2) << s << endl;

    return 0;

  

}

 

...全文
119 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复

输入的是三个顶点的坐标,不是边长,边长要自己计算~

侠客小贝 2022-08-07
  • 举报
回复
@日立奔腾浪潮微软松下联想 原来如此

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧